CS 공부

고정 소수점 & 부동 소수점 본문

CS공부/컴퓨터 구조

고정 소수점 & 부동 소수점

kluiop1 2021. 7. 29. 17:53

(모든 예시는 32bit로 가정 하고 정리)

고정 소수점

움직이지 않고 고정된 소수점을 뜻한다.

고정소수점은 첫 번째 칸을 부호비트, 그 다음 15칸은 정수부, 16칸은 소수부라고 부른다. 명칭 그대로 부호비트는 실수의 부호를 나타내는 비트 자리로 실수가 음수라면 1, 양수라면 0을 넣는다. 그리고 정수부에는 실수의 정수 부분을, 소수부에는 실수의 소수부분을 넣는다. 정수부와 소수부의 경계 부분을 소수점의 위치로 생각하고 수를 그대로 넣으면 된다. 숫자들을 넣고 남은 칸들은 모두 0으로 채워진다.

 

21.25를 예를 들어 표현하면 다음과 같다. 21.25는 위 설명에서 10101.01로 구한 바 있다.

 

부호비트: 0 (10101.01이라는 실수는 양수이기 때문이다.)

정수부: 10101 (정수 부분의 수)

소수부: 01 (소수 부분의 수)

 

남은 부분은 모두 0으로 채우면 된다.

 

부동 소수점

고정되지 않고 움직이는 소수점을 뜻한다.

부동소수점 역시 첫 번째 칸은 부호비트이다. 다만 그 다음 8칸은 지수부, 나머지 23칸은 가수부이다. 부호 부분엔 실수가 음수일 경우 1, 양수일 경우 0을 자리시킨다.

 

지수부는 위 설명에서의 nbias를 더한 값을 2진수로 변환한 수를 넣는 부분이다. bias32비트에서는 127, 64비트에서는 1023이다.

가수부에는 가수를 넣는 부분인데, 위 설명에서의 m의 소수점 아래 부분을 일컫는다.

 

부동소수점의 의의

고정 소수점의 경우 정수부분와 소수부분으로 나누기에 정수부분이 일정 자릿수보다 큰 수는 다룰 수 없게 된다.

하지만 부동소수점은 정수, 소수 대신 가수,지수로 다루기에 정수 부분이 8비트가 넘어가는 큰 수도 다룰 수 있다

 

참고

https://jiminish.tistory.com/81

'CS공부 > 컴퓨터 구조' 카테고리의 다른 글

ARM  (0) 2021.07.29
패리티 비트 & 해밍 코드  (0) 2021.07.29
캐시 메모리  (0) 2021.07.29
CPU의 작동  (0) 2021.07.26
컴퓨터의 구조  (0) 2021.07.26