더북(TheBook)

Note float형 값에 f를 붙이는 이유

floatdouble은 둘 다 실수형인데, float형의 변수에 값을 저장할 때만 뒤에 f를 붙입니다. 저장하는 값이 float형이라는 것을 알리기 위해서입니다. 변수를 선언하면 자료형에 정해진 크기만큼 메모리 공간을 차지합니다. float는 4바이트, double은 8바이트만큼의 공간을 사용하죠. 값에 f를 붙이지 않으면 컴퓨터는 값을 double로 자동 인식해 변수 크기인 4바이트가 초과되는 값은 잘린다는 경고 메시지를 출력합니다.

비유하자면 이런 상황과 같습니다. 4명이서 식당에 갔는데 입구에서 안내하는 직원에게 일행이 몇 명인지 말하지 않았습니다. 그랬더니 직원이 뒤따라오던 다른 손님 4명을 포함해 총 8명이 일행이라 생각해 “지금은 4명 자리밖에 없어서 대기하셔야 합니다.”라고 말합니다.

지금까지 배운 실수형 변수를 정리하면 다음과 같습니다.

형식

float 변수명 = 값f;
printf("%.nf", 변수명); // n은 출력할 소수점 이하 자릿수, n+1번째 자리에서 반올림
// 또는
double 변수명 = 값;
printf("%.nlf", 변수명); // n은 출력할 소수점 이하 자릿수, n+1번째 자리에서 반올림
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.