- 컴퓨터가 실수를 저장하는 방식: fixed point vs. floating point

 

십진수 실수를 이진수 실수로 표현하는 방식에는 fixed point 방식과 floating point 방식이 있습니다.

 

예를 들어 십진수 +5.5는 fixed point 이진수로 나타내면 +101.1 이고 floating point 이진수로 나타내면 +1.011*(2^2) 입니다.

 

또다른 예로 십진수 -10.25는 fixed point 이진수로 -1010.01 이고 floating point 이진수로 -1.01001*(2^3) 입니다.

 

컴퓨터가 이런 이진수 실수를 저장할 때는 꼭 필요한 정보만을 저장하는데요.

 

fixed point 이진수를 저장할 때는 부호, 정수 부분, 소수 부분 총 3가지를 저장합니다.

 

예를 들어 fixed point 이진수 +101.1의 경우 부호 +, 정수 부분 101, 소수 부분 1을 저장합니다.

 

마찬가지로 fixed point 이진수 -1010.01의 경우 부호 -, 정수 부분 1010, 소수 부분 01이 저장합니다.

 

fixed point 이진수의 정수 부분과 달리 floting point 이진수의 정수 부분은 항상 1이기 때문에 정수 부분의 값을 저장 할 필요가 없습니다.

 

대신 floating point 이진수는 fixed point와는 달리 2^n 값이 곱해지기 때문에 지수 부분 n 값을 저장해주어 야 합니다.

 

따라서 floating point 이진수는 부호, 지수 부분, 소수 부분 총 3가지를 저장합니다.

 

예를 들어 floating point 이진수 +1.011*(2^2)의 경우 부호 +, 지수 부분 2, 소수 부분 011을 저장합니다.

 

마찬가지로 floating point 이진수 -1.01001*(2^3)의 경우 부호 -, 지수 부분 3, 소수 부분 01001을 저장합니다.

 

정리하면 fixed point 이진수와 floating point 이진수는 컴퓨터에서 아래 표와 같이 3부분으로 저장합니다.

 

Signed fixed point format과 unsigned floating point format

 

+ Recent posts