컴퓨터에서의 실수 표현

컴퓨터는 메모리에 0과 1을 이용한 2진수로 정보를 저장한다. 정수의 경우 단순히 2진수로 정확히 표현할 수 있지만, 실수는 그렇지 않다. 컴퓨터에서 실수를 표현하기 위해 메모리에 어떻게 저장하며, 그에 대한 두 가지 방법 부동 소수점과 고정 소수점을 살펴보도록하자.

부동 소수점

IEEE 754 32bits

부동 소수점에 대한 표준

Untitled

부동 소수점에 대한 표준은 IEEE 754로 정의되어있다. 총 32비트 (4바이트)의 저장 공간에 실수를 저장하며, C/C++의 float형이 이를 따른다. 실제로 저장되는 값은 다음과 같다.

$$ mantissa * 2^{exponent - 127} $$

실수를 부동 소수점으로 표현하기

  1. 정수부를 2진수로 표현하기
  1. 소수부를 2진수로 표현하기

소수부의 경우 정수와 달리 정확도의 문제가 있다. 이는 컴퓨터가 2진수로 소수부를 표현하기 위해 2^n 의 합으로 해당 소수를 나타내기 때문이다.

  1. 1.xxxx 형태의 가수, 지수 표현하기