Data Analysis for Investment & Control

IEEE 754-2008 Decimal Floating Point Format (1) 본문

Robotics/Hardware

IEEE 754-2008 Decimal Floating Point Format (1)

아슈람 2009. 8. 30. 23:54
반응형

1985 IEEE에서 Floating-point 표준을 처음 만들어 공표한 이후로 23년이 지난 2008년 새로운 형태의 Floating-point format이 만들어져 발표되었습니다. 기존의 IEEE754-1985 규약이 이진(binary) 기반의 표현 방법이었다면, IEEE754-2008 규약은 십진(decimal) 기반으로 종전의 표현 방법에 비해 수의 표현 범위가 넓어졌으며, 십진수 형태의 실수로 바로 변환되기 때문에 별도의 계산 과정이 불필요하게 됩니다.

 

IEEE754-1985 규약에 정의된 포맷은 32bit 64bit로 나눌 수 있는데, 32bit를 기준으로 설명을 하면, 최상위 bit(MSB)는 부호(sign), 그 다음 8bit는 지수부(exponent), 나머지 23bit는 가수부(mentissa) 영역으로 지정됩니다. 이 때의 값의 의미는


로 쓸 수 있습니다. 부호 비트는 0일 때 양수 값, 1일 때 음수 값이며, 지수부는 8bit이기 때문에 0~255의 값의 범위를 갖습니다. 32bit 포맷에서 지수부의 바이어스는 127로 지수부에서 127을 뺀 값이 2의 지수로 사용됩니다. 따라서, 지수부 bit 127보다 작으면, 계산된 실수 값은 1 미만의 소수가 됩니다. 가수부는 1 + 1st bit + 2nd bit + 3rd bit + 4th bit + … 의 형식이 되며, 1st bitb^(-1), 2nd bit b^(-2), 3rd bit b^(-3)… 과 같은 형식으로 정의되며, 최하위 비트는 b^(-23)입니다. 최하위 비트의 정의된 값의 크기로 인해 IEEE754-1985 표준의 32비트 포맷의 정밀도는 값의 크기 대비 100 / (2^23)% = 0.00001192%가 됩니다.


이에 반해 IEEE754-2008 규약은 32bit 기준으로, 최상위 bit(MSB)는 역시 부호(sign)를 나타내고, 그 다음 11bit는 지수부(exponent), 나머지 20bit는 가수부(mantissa)를 표현하는데 사용됩니다. 그러나 IEEE754-1985 규약이 일련의 계산과정을 거치는 성격이라면, IEEE754-2008은 경우에 따른 대입이라는 성격을 갖습니다. 지수부이 비트와 가수부의 비트가 가질 수 있는 경우의 수에 따라 계산 방법이 달라집니다. IEEE754-1985 규약의 표현식과 대응되는 IEEE754-2008 규약의 식은 아래와 같습니다.


지수부의 11bit 중 상위 5bit의 값에 따라 몇 가지의 경우로 계산 패턴이 달라지게 됩니다. 예를 들어, 부호 비트 이후의 5bit“11110”이면 값은 무한대로 정의합니다. 상위 2bit의 값에 따라 그리고 상위 4bit의 값에 따라 각각의 변환 패턴도 달라지게 됩니다.

반응형
Comments