float 자료형이란?
float는 부동소수점 수(실수)를 표현하기 위해 사용되는 자료형입니다. float는 32비트 IEEE 754 단정밀도(single precision) 부동소수점 형식을 따르며, 1비트는 부호, 8비트는 지수, 나머지 23비트는 가수 값을 저장하는 데 사용됩니다. float가 표현할 수 있는 정밀도는 소수점 이하 약 6자리입니다.
C 언어에서 float 변수를 선언하는 기본 문법은 다음과 같습니다.
float variable_name;
다음은 C 언어에서 float를 활용한 간단한 예제입니다.
예제
#include<stdio.h>
#include<string.h>
int main() {
float x = 10.327;
int y = 28;
printf("float 값 : %f\n", x);
printf("float와 int 변수의 합 : %f\n", (x+y));
return 0;
}
실행 결과
float 값 : 10.327000 float와 int 변수의 합 : 38.327000
위 예제에서 볼 수 있듯이, float 변수와 int 변수를 더하면 자동으로 float 타입으로 변환되어 계산됩니다.
double 자료형이란?
double 역시 부동소수점 수를 표현하기 위한 자료형입니다. double은 64비트 IEEE 754 배정밀도(double precision) 부동소수점 형식을 사용하며, 소수점 이하 약 15자리까지의 높은 정밀도를 제공합니다.
C 언어에서 double 변수를 선언하는 기본 문법은 다음과 같습니다.
double variable_name;
다음은 C 언어에서 double을 활용한 예제입니다.
예제
#include<stdio.h>
#include<string.h>
int main() {
float x = 10.327;
double y = 4244.546;
int z = 28;
printf("float 값 : %f\n", x);
printf("double 값 : %f\n", y);
printf("float, double, int 변수의 합 : %f\n", (x+y+z));
return 0;
}
실행 결과
float 값 : 10.327000 double 값 : 4244.546000 float, double, int 변수의 합 : 4282.873000
float와 double의 주요 차이점
두 자료형의 특징을 정리하면 다음과 같습니다.
- 메모리 크기: float는 32비트(4바이트), double은 64비트(8바이트)로 double이 2배 더 많은 메모리를 사용합니다.
- 정밀도: float는 소수점 이하 약 6자리, double은 약 15자리까지 표현할 수 있어 double이 훨씬 정확합니다.
- 사용 시기: 과학 계산이나 금융 처리처럼 높은 정밀도가 필요한 경우에는 double을, 메모리 절약이 중요한 임베디드 환경이나 대량의 데이터를 다룰 때는 float를 사용하는 것이 좋습니다.
특별한 이유가 없다면 정밀도 오류를 줄이기 위해 double을 사용하는 것이 일반적으로 권장됩니다.