본문 바로가기

프로그래밍./공통 내용

[C언어] 실수형의 이해.

float 와 double 가 있으며, double가 대표이다.

단정도 부동소수(32bit - float)
sign bit : 1 bit / 지수부 : 8 bit / 가수부(유효부숫자) : 23 bit

배정도 부동소수(64bit - double)
sign bit : 1 bit / 지수부 : 11 bit / 가수부(유효부숫자) : 52 bit

sign bit 란 가수부(유효부숫자)의 부호를 의미한다. (0 : 음수, 1 : 양수)

지수부 저장방식 : 기본값 + 지수승.
(기본 값 : 지수부 최대값 / 2  -> float : 127 (총 8비트. 최대값은 255) , double : 1023)
사실상 00000000, 0000000000  여기서 제일 높은 첫자리에 1이 된다는 이야기이다.
10000000 (127)

실수를 이진수로 바꾸는 것.
정수부분은 2로 계속 나누어서 나머지를 역순으로 찍어낸다.
실수 부분은 2를 계속 곱해서 자리수를 넘어가는 수를 차례로 찍어낸다.

prinft문에서 .3f 로 쓰는 경우 소수점 3자리까지 출력한다는 의미.