다운로드 :
실수의 비트 표현
범위 : 10^-38 ~ 10 ^ 38
1. 이진화하기
정수부 : 나누어 몫과 나머지를 취한다.
소수부 : 곱하여 몫을 취한다.
5 . 75
5 . 75 ==> 101.11
5/2...1 0.75 * 2 = 1.50 ... 1
2/2...0 0.50 * 2 = 1.00 ... 1
1.....
3 . 25
3 . 25 ==> 11.01
3/2...1 0.25 * 2 = 0.5 ... 0
1 0.5 * 2 = 1.0 ... 1
0 . 75
0 . 75 ==> 0.11
0 0.75 * 2 = 1.50 ... 1
0.50 * 2 = 1.00 ... 1
2. 정규화하기
xxx.xxx ==> 1.xxx * 2^n 으로 만든다.
101.11 => 1.0111 * 2 ^ 2 (왼쪽이동은 양수 2)
11.01 => 1.101 * 2 ^ 1
0.11 => 1.1 * 2 ^ -1(오른쪽이동은 음수 2)
3. 2진수로 조립하기
부호부 : 1
지수부 : 8 (기준값:127)
가수부 : 23
1.0111 * 2 ^ 2 => 부호 : 0
지수 : 129 = 2 + 127
가수 : 0111~
0 100 0000 1 011 1000 0000 0000 0000 0000
- ---------- ----------------------------
------- ---- ------- ---- ---- ---- ---- ----
4 0 B 8 0 0 0 0
40 B8 00 00 ==========> 00 00 B8 40 (리틀 엔디언)
1.101 * 2 ^ 1 => 부호 : 0
지수 : 128 = 1 + 127
가수 : 101~
0 100 0000 0 101 0000 0000 0000 0000 0000
- ---------- ----------------------------
------- ---- ------- ---- ---- ---- ---- ----
4 0 5 0 0 0 0 0
40 50 00 00 ==========> 00 00 50 40
1.1 * 2 ^ -1 => 부호 : 0
지수 : 126 = -1 + 127
가수 : 1~
0 011 1111 0 100 0000 0000 0000 0000 0000
- ---------- ----------------------------
------- ---- ------- ---- ---- ---- ---- ----
3 F 4 0 0 0 0 0
3F 40 00 00 ==========> 00 00 40 3F