본문 바로가기
CS/컴퓨터구조

[Computer Architecture] 고정 소수점 , 부동 소수점

by 채채씨 2022. 1. 14.
728x90
반응형

 

컴퓨터에서 실수를 표현하는 두 가지 방법 

  • 고정 소수점
  • 부동 소수점

 

고정 소수점 (Fixed Point)

소수점이 찍힐 위치를 고정해두고 소수를 표현한다. ex) -3.2134

 

 

부호(1비트) + 정수부(15비트) + 소수부(16비트)

 

 

부동 소수점 (Floating Point)

지수값으로 소수점을 움직이는 방식을 활용하여 실수를 표현한다. (소수점 위치 고정 안 함)

 

부동 소수점으로 표현한 실수 (s=부호, M=가수, E=지수)

 

부호(1비트) + 지수부(8비트) + 가수부(23비트)

  · 가수: 실제값 표현
  · 지수: 크기를 표현. 소수점이 어디 찍힐지 나타냄

 

 

부동 소수점 변환 과정 

  • 부호부(sign)
    • 부호가 음이면 1, 양이면 0으로 가장 앞자리 부호부 1비트를 채운다.
  • 가수부(mantissa)
    • 가수의 절댓값을 2진수로 변환한다. (참고)
    • 소수점 왼쪽에 1 하나가 남도록 소수점 위치를 옮긴다.
    • 기존값과 동일하도록 이동한 만큼 지수를 곱한다.
    • 소수점의 오른쪽 숫자들로 가수부 23비트를 채운다.
    • 남는 자리는 0으로 채운다.
  • 지수부(exponent)
    • 지수값에 bias인 127을 더한다. (bias = 2의 8승 - 1)
    • 지수에 bias를 더한 값을 2진수로 변환한다.
    • 변환된 2진수로 지수부 8비트를 채운다.

 


 

 

※ 10진수 정수 to 2진수
10진수를 2로 나눈 나머지를 기록하고 몫을 다시 2로 나눈다. 이 과정을 몫이 0이 될 때까지 반복한다. 기록한 나머지들을 역순으로 나열한 값이 2진수이다.

 

※ 10진수 소수 to 2진수
10진수 소수에 2를 곱한 후 정수 부분을 기록하고 소수 부분에 다시 2를 곱한다. 이 과정을 소수 부분이 0이 될 때까지 반복한다. 기록한 정수 부분을 순서대로 나열하면 10진수 소수를 2진수로 변환한 값이 된다.

 

 


 

[reference]

 

728x90
반응형

댓글