실수는 소수점을 기준으로 왼쪽에 위치하는 수를 정수부라 하며
오른쪽에 위치하는 수를 소수부라 한다.
컴퓨터에서는 이러한 실수에 대하여 정수부와 소수부로 분리해 표현하지 않고
수의 유효 자릿수들을 부호화된 고정 소수점을 나타내는 가수부와 그 수에서의 실제
소수점의 위치를 나타내는 지수부로 표현하는 부동 소수점 표기법( floating-point notation )을 사용함.
즉, 968.75라는 수는 0.96875*10³ 으로 표현할 수 있으며, 이때 96875를 가수 또는 공학 표기법에서는
주요부( significant ) 라고 하고, 10의 곱에 해당하는 3을 지수( exponent )라고 한다.
이때 공학 표기법에서 주요부는 항상 1보다 크거나 같고 10보다 작은 수의 범위를 사용하여 표기하게
되는데, 이를 표준 형식 ( normalized form ) 이라고 한다. 위 예제의 경우 9.6875*10²으로 표현하는
것이 표준 형식이다. 0.0096875라는 수를 표준으로 나타낼땐 지수부에 마이너스를 사용 함으로써
9.6875*10-³으로 표현한다.
컴퓨터에서는 0과 1의 바이너리를 사용하며, 부동 소수 형식 역시 바이너리 숫자 형태의
공학 표기법으로 기록해야 논리적 연산을 수행 할 때 편리해지게 된다.
됬고..
컴퓨터에서는 바이너리 부동 소수값을 저장 하는 규칙에 대하여 IEEE( Institute of Electrical and Electronics Engineers ) 에서 제시한 4바이트 단정도( single percision ) 와 8바이트 배정도
( double precision ) 을 사용 하고 있다.
단정도 형식은 3개의 부분으로 구성 되어 있다. 왼쪽 최상위 1비트는 정수에서와 같이
음수,양수를 나타내는 부호비트고, 다음 8비트는 지수부를 나타내며 나머지 23비트에 가수부의 내용을
저장하게 된다.
1bit |
8bit |
23bit |
부호(음,양) |
지수부 |
가수부 |
실제 유효 수를 나타내는데 쓰이는 가수부는 23비트이며, 23비트로 표현 할 수 있는 10진수의
자릿수는 7자리 정도다. 그래서 1234567.8 과 1234567.9는 같은 값으로 저장되어지는 문제점이 있다.
배정도 부동 소수 형식은 이러한 한계를 보다 많이 줄이고 보다 자세히 데이터를 표현 할 수도
있도록 그 크기를 증가시킨 것으로,
1bit |
11bit |
52bit |
부호(음,양) |
지수부 |
가수부 |
이렇게 되어 잇뙇