IEEE 754 표준 - 부동소수점 자료 표현 (float, double)
실수 자료형은 소숫점 이하까지 표현할 수 있는 자료형을 말한다.
컴퓨터가 정수를 표현하는 경우 자료의 크기 차이가 있을 뿐 명확하게 표현이 가능하지만
실수는 두 정수 사이에 무한한 값이 존재할 수 있기 때문에 표현이 불가능하다.
(1과 2사이에 1.1 1.11 1.111... 존재)
따라서 컴퓨터가 실수를 표현하려면
일정 수준의 오차를 전제하여 다양한 표현을 한다.
IEEE 754 표준은 부동 소수점 자료 표현을 위해
32비트 단정도, 64비트 배정도 및 79비트(보통 80비트로 구현) 확장 배정도 형식에 대한 표준을 규정한다.
C언어에서는 32비트 단정도에 해당하는 float 형식과
64비트 배정도인 double형을 지원한다.
컴파일러에 따라 확장 배정도 형식인 long double을 지원하기도 하지만
MS Visual Studio 2015는 long double을 double로 취급
사실상 확장 배정도 형식을 지원하지 않는다.
IEEE 754 single format : float (32 Bit)
부호비트(Significant, 1 Bit) : 양수 0, 음수 1
지수부(Exponent, 8 Bit) : -126 ~ 128, Bias 127
가수부(Mantissa, 23 Bit)
즉 2^-126 부터 2^128 사이의 값 표현 가능
IEEE 754 double format : double (64 Bit)
부호비트(Significant, 1 Bit) : 양수 0, 음수 1
지수부(Exponent, 11 Bit) : -1022 ~ 1024, Bias 1023
가수부(Mantissa, 52 Bit)
즉 2^-1022 ~ 2^1024 값 표현 가능
출처 : 독하게 시작하는 C프로그래밍, 팁스소프트