부동소수점
- 부동소수점은 소수점의 위치를 이동시킬 수 있는 표현방법
부동소수점의 형태
+/- M x B^E
부호 가수 밑수 지수
- 지수 필드의 비트수가 늘어나면 표현 가능한 수의 범위가 늘어난다
- 가수 필드의 비트수가 늘어나면 정밀도가 증가한다
32bit(단일-정밀도, single-precision)
- 부호: 1bit
- 가수: 23bit
- 지수: 8bit
11.75 표현하기
1) 십진수인 11.75를 2진수로 변환을한다
2) 2진수로 변환을 하면 1010.11(2)
가 된다
3) 1010.11(2)를 정규화를 하면 1.01011(2) x 2^3
이 된다
4) 부호: +
5) 지수: 3
6) 가수: 01011
7) 여기서 지수는 양의 지수와 음의 지수가 구분될 수 있도록 32bit에서는 127을 64bit 1023을 더한다
8) 따라서 지수는 3 + 127 = 128 + 2
로 표현할 수 있다
9) 만약 -11.75였다면 부호비트를 1로 변경하여 표기해주면 된다
0.1875 표현하기
1) 십진수 숫자인 0.1875를 2진수로 변환한다
2) 2진수로 표현하면 0.0011(2)
이 된다
3) 0.0011(2)를 정규화를 하면 1.1(2) x 2^-3
이 된다
4) 부호: +
5) 지수: -3
6) 가수: 1
7) 여기서 지수는 양의 지수와 음의 지수를 구분할 수 있도록 32bit에서는 127을 더한다
8) 따라서 지수는 -3 + 127 = 127 - 3
이므로 127은 128을 제외한 모든 칸이 1인 경우이고 거기서 3을 빼야하므로 2와 1을 0으로 만들어주면 된다
9) 0 1 1 1 1 1 0 0 이 된다는 것을 알 수 있다
64bit(복수-정밀도, double-precision)
- 부호: 1bit
- 지수: 11bit
- 가수: 52bit
- 32bit에 비해 가수부분 표현범위가 큰것을 보면 32bit보다 더 정밀한 표현이 가능하다는 것을 알 수 있다
13.6875 표현하기
1) 십진수 숫자인 13.6875를 2진수로 변환한다
2) 2진수로 표현하면 1101.1011(2)
이 된다
3) 1101.1011(2)를 정규화를 하면 1.1011011(2) x 2^3
이 된다
4) 부호: +
5) 지수: 3
6) 가수: 1011011
7) 여기서 64bit 체제이므로 지수 3에 1023을 더한다
8) 따라서 지수는 1023 + 3 = 1024 + 2 → 1024와 2를 제외한 모든 위치를 0으로 표기
로 표현할 수 있다
9) 만약 음수였다면 부호비트를 1로 바꾸어
'컴퓨터기초' 카테고리의 다른 글
음수 계산을 위한 보수법 - 1의 보수와 2의 보수 (0) | 2022.01.13 |
---|