전공과목인 네트워크를 학습하며 어려웠던 내용과 중요한 내용을 정리한 것으로, 잘못된 내용이 있는 경우 알려주시면 감사하겠습니다.
부동 소수점 표현 (floating point)

부동 소수점은 실수를 컴퓨터에서 표현하기 위한 방법으로 고정 소수점의 문제를 해결하기 위한 방법이다.
Sign 비트 + Exponent(지수) + Mantissa(가수, fraction) 로 이루어진다.
Sign : 1비트. 숫자의 부호를 나타냄. 양수일 때 0 음수일 때 1
Exponent : 8비트. 지수
fraction : 23비트. 가수
Single precision: 부호 1비트, 지수 8비트, 가수 23비트
Double precision: 부호 1비트, 지수 11비트, 가수 52비트
최대 표현 : 2^32-1 만큼 표현 가능. → +0 과 -0이 존재하므로 0이 중복되기 때문이다.
3.5 → 11.1 * 2 에서 11.1이 Mantissa이며, 2는 Exponent이다.
부동 소수점 계산법 (Single precision 기준)
3.5일 때,
1. 2진수로 변경: 11.1
2. 소수점 왼쪽에 1만 남도록 변경: 1.11 + 2^1
3. 이때 이동한 수 n(= 2의 n승) 만큼 127에 더한다. 예시의 경우 127+1 = 128이다. 이는 exponent의 값이다.
4. 이 수를 이진수로 변경하여 exponent의 값을 구한다. 예시의 경우 1000000이다.
5. 이제 다시 2번으로 돌아가, 1.11에서 소수점 오른쪽의 수를 모두 적고, 23비트까지 남는 만큼 0을 채운다. 이것이 fraction이다. 예시에서는 11000...0(23번까지 0 채움)이 될 것이다.
6. 마지막으로, sign은 부호에 따라 결정된다. 양수인 경우 0, 음수인 경우 1이다.

직접 계산을 하고 IEEE 754 부동소수점 변환기(계산기) 와 같은 변환기를 통해 답을 확인하는 방식으로 계산법을 익히면 좋을 것 같다.
'Computer Science > 네트워크' 카테고리의 다른 글
[네트워크] MAC Address (0) | 2023.04.14 |
---|---|
[네크워크] OSI 7 Layer (0) | 2023.04.14 |
[네트워크] 모든 개발자를 위한 HTTP 웹 기본 지식 정리 (0) | 2023.02.04 |
댓글