실수는 정수부와 소수부 사이에 초점이 있는 숫자이다. 컴퓨터는 2진수만으로 실수를 표현해야 하므로 소수점을 직접 표현하지 못하고 정수부와 실수부의 위치를 정의하여 실수를 표현한다.

2진수 실수를 표현하는 방법에는 소수점 위치가 항상 같은 자리로 고정되는 고정소수점 표현 방식과 소수점 위치가 고정되지 않고 변하는 부동소수점 표현 방식이 있다.

[ 그림 1-16 ] 실수의 과학적 표기

현재 컴퓨터에서는 실수를 표현할 때 IEEE 754 표준 표기 방식에 따른 부동소수점 표현 형식을 사용한다. 부동소수점 표현 형식으로 실수를 표현하려면 부호, 지수, 가수의 세 영역을 사용한다. 부동소수점의 표현 범위에 따라 4바이트(32비트)의 단정도 부동소수점 표현과 8바이트(64비트)의 배정도 부동소수점 표현으로 나뉜다.

부동소수점 표현 형식에서는 부호, 지수, 가수의 세 영역에 대하여 [그림 1-17]과 같이 비트를 할당한다. 부호 비트에는 양수(+)는 0을, 음수(-)는 1을 표시한다. [그림 1-17]에서 (a)는 4바이트의 단정도 부동ㅌ소수점 표현 방식이고, (b)는 8바이트의 배정도 부동소수점 표현 방식이다.

[ 그림 1-17 ] 부동소수점 표현 형식

예를 들어 100010.101을 IEEE 754 표준에 따라 부동소수점으로 표현하면 다음 단계를 따른다.

①정규화 : 정수부가 1이 되도록 소수점을 이동하여 과학적 표기로 변환한다.

1.00010101 x 2의 5승

②부호 : 양수는 0, 음수는 1을 저장한다.

③가수부 : 정규화하면 정수부는 항상 1이 되므로, 정수부를 생략하고 소수부(00010101)만 저장한다.

④지수부 : 정규화해서 구한 지수와 바이어스를 더한 값을 저장한다. 바이어스는 지수의 부호를 표현하기 위해 사용하는 값으로 단정도 부동소수점 표현 방식에서는 127을 사용하여 지수 5+127=132=10000100, 배정도 부동소수점 표현 방식에서는 1023을 사용하여 지수 5+1023=1028=10000000100을 저장한다. [그림 1-18]에서 (a)는 단정도 부동소수점 표현 방식이고, (b)는 배정도 부동소수점 표현 방식이다.

[ 그림 1-18 ] 부동소수점 표현 예 : 100010.101