소리가 컴퓨터에 저장될 때에는 디지털 데이터화 되어 저장된다.
마이크를 통해 1초에 적게는 수십 번, 많게는 수만 번 소리의 강약을 체크해
그 값을 정수값으로 바꾸고, 그 값을 저장해 소리를 파일로 저장할 수 있다.
값을 저장할 때에는 비트를 사용하는 정도에 따라 세세한 녹음 정도를 결정할 수 있고,
좌우(스테레오) 채널로 저장하면 2배… 5.1채널이면 6배의 저장공간이 필요하고,
녹음 시간이 길면 그 만큼 더 많은 저장공간이 필요하다.
1초 동안 마이크로 소리강약을 체크하는 수를 h
(헤르쯔, Hz 는 1초에 몇 번? 체크하는가를 의미한다.)
한 번 체크한 결과를 저장하는 비트 b
(2비트를 사용하면 0 또는 1 두 가지, 16비트를 사용하면 65536가지..)
좌우 등 소리를 저장할 트랙 개수인 채널 c
(모노는 1개, 스테레오는 2개의 트랙으로 저장함을 의미한다.)
녹음할 시간 s가 주어질 때,
필요한 저장 용량을 계산하는 프로그램을 작성해보자.
일단 4개 받는다.
4개를 다 곱해서 얼마나 사용하는지 구하고
입력받은 요소들은 다 bit이니깐 출력시 MB의 단위 소수점 첫째까지 출력하라고 하였으니
1MB = 1024kb, 1kb = 1024byte, 1byte = 8bit니깐,1MB는 1024*1024*8bit이다.
결과 값인 bit를 1MB로 바꾸려면 저것을 곱하면된다.
#include <stdio.h>
int main()
{
int h,b,c,s;
double result = 0;
scanf("%d %d %d %d", &h,&b,&c,&s);
result = h*b*c*s;
printf("%.1lf", result/1024/1024/8);
return 0;
}
'알고리즘 > 코드업 C알고리즘' 카테고리의 다른 글
1087 : [기초-종합] 여기까지! 이제 그만~(설명) (0) | 2021.03.31 |
---|---|
1086 : [기초-종합] 그림 파일 저장용량 계산하기(설명) (0) | 2021.03.31 |
1084 : [기초-종합] 빛 섞어 색 만들기(설명) (0) | 2021.03.31 |
1083 : [기초-종합] 3 6 9 게임의 왕이 되자!(설명) (0) | 2021.03.31 |
1082 : [기초-종합] 16진수 구구단? (0) | 2021.03.31 |