본문 바로가기

CS

[컴퓨터구조] 고정 소수점과 부동 소수점 정리

고정 소수점 (Fixed Point)

  • 소수점이 찍힐 위치를 미리 정함
  • 부호(1비트) + 정수부(15비트) + 소수부(16비트) (총 32비트)

 

장점

  • 단순하다

단점

  • 표현의 범위가 매우 적다 ➡️ 활용하기 힘들다.

부동 소수점 (Floating Point)

  • 현재 대부분의 시스템에서 활용 중
  • 지수 값에 따라 소수점이 움직이는 방식
  • 부호부(1비트) + 지수부(8비트) + 가수부(23비트) (총 32비트)
    • 가수부 : 실제수 (소수점을 2번째 자리까지 밀고 난 후의 오른쪽 부분)
    • 지수부 : 소수점의 위치를 나타내는 지수
 -118.625의 부동 소수점 표현
1. 음수이므로, 부호부 = 1
2. 이진수로 변환 : 118.625 = 1110110.101 (2진수)
3. 소수점을 왼쪽으로 이동 : 1.110110101 x 2^6
4. 가수부 : 소수점의 오른쪽 부분을 23비트가 될 때까지 0으로 채움
   110110101 ➡️ 11011010100000000000000 (가수부)
5. 지수부 : 현재 지수인 6에서 Bias를 더하면 133(6+127)이다. 133을 2진법으로 변환하면 10000101(지수부)

장점

  • 표현할 수 있는 수의 범위가 넓다 

단점

  • 오차가 발생 가능

참고 출처 

https://ko.wikipedia.org/wiki/%EB%B6%80%EB%8F%99%EC%86%8C%EC%88%98%EC%A0%90

https://gyoogle.dev/blog/computer-science/computer-architecture/%EA%B3%A0%EC%A0%95%20%EC%86%8C%EC%88%98%EC%A0%90%20&%20%EB%B6%80%EB%8F%99%20%EC%86%8C%EC%88%98%EC%A0%90.html