대부분 사용하고 있는 표준 표기법
소수점을 어디에든 찍을 수 있다
실수는 조금의 오차가 발생할 수 있다.
알아둬야할 개념들
정확도 : 참 값에 얼마나 근접했는가
정밀도 : 데이터들이 얼마나 서로 가까운가 (탄착군 형성)
유효숫자
정규화된 과학적 표기법
1.xxxx... 형태를 띄게 됨float형 (소수 하나를 표현하는데 32비트를 사용한다)
부호비트 1bit (0이면 양수, 1이면 음수)
지수비트 8bit
0 ~ 255 까지 표현 (지수비트 내에는 부호비트가 없다)
실제 지수값 = 지수비트 값 - 127
지수비트 = 00000000 (0) 이면 실제지수값 = -127
지수비트 = 11111111 (255) 이면 실제 지수값 = 128
0xFF0xFF + 가수비트 0x00 : 무한대를 표현0xFF + 가수비트 0x00이 아닐 때 : NaN 수가 아니다.| 지수비트 | 지수 | 가수비트 0 | 가수비트 (0아닐 때) |
|---|---|---|---|
| 0x00 | -127 | 0 | 비정규화 수 (0에 아주 가까운 수) |
| 0x01 ~ 0xFE | -126 ~ 127 | 정규화된 수 | 정규화된 수 |
| 0xFF | 128 | 무한대 | NaN |
가수비트 : 23bit
가수의 정수부는 언제나 1이 있다고 가정 (앞에 1을 포함해서 24비트의 정밀도를 가진다고 표현)
가수비트 23bit는 정수부분 1을 제외하고 / 0.5, 0.25, 0.125 .... (2^-1, 2^-2, 2^-3, 2^-4...)까지의 값을 표현한다.
실수를 32비트 데이터 형태로 바꿔보자
010000001101101011000000000000000+10000001+10110101100000000000000반올림 오차
== 연산자 사용 X1bit11bit52bit1bit11bit52bit
너무 많이 도움 됐습니다. 깔끔한 정리 감사합니다~!