대부분 사용하고 있는 표준 표기법
소수점을 어디에든 찍을 수 있다
실수는 조금의 오차가 발생할 수 있다.
알아둬야할 개념들
정확도 : 참 값에 얼마나 근접했는가
정밀도 : 데이터들이 얼마나 서로 가까운가 (탄착군 형성)
유효숫자
정규화된 과학적 표기법
1.xxxx...
형태를 띄게 됨float형 (소수 하나를 표현하는데 32비트를 사용한다)
부호비트 1bit
(0이면 양수, 1이면 음수)
지수비트 8bit
0 ~ 255 까지 표현 (지수비트 내에는 부호비트가 없다)
실제 지수값 = 지수비트 값 - 127
지수비트 = 00000000
(0) 이면 실제지수값 = -127
지수비트 = 11111111
(255) 이면 실제 지수값 = 128
0xFF
0xFF
+ 가수비트 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비트 데이터 형태로 바꿔보자
0
10000001
10110101100000000000000
0
+10000001
+10110101100000000000000
반올림 오차
==
연산자 사용 X1bit
11bit
52bit
1bit
11bit
52bit
너무 많이 도움 됐습니다. 깔끔한 정리 감사합니다~!