IEEE 표준 부동 소수점 숫자 표현
컴퓨터에서 이진수로 큰 숫자를 나타낼 때 계산에 큰 편차가 없도록 하려면 일정한 표준이 필요합니다. 따라서 IEEE(Institute of Electrical and Electronics Engineers)는 부동 소수점 산술에 대한 IEEE 표준(IEEE 754)을 개발했습니다.
IEEE 754에는 세 가지 구성 요소가 있습니다.
- 밑수 - 0은 양수를, 1은 음수를 나타냅니다.
- 편향 지수 - 지수는 양의 지수와 음의 지수를 모두 나타내는 데 사용됩니다. 따라서 저장된 지수를 얻으려면 실제 지수에 편향을 추가해야 합니다.
- 가수(mantissa)- significand라고도 하며, 숫자의 정밀도 비트를 나타냅니다.
이러한 구성 요소를 사용하여 IEEE 754는 단정밀도 형식과 배정밀도 형식의 두 가지 방법으로 부동 소수점 숫자를 나타냅니다. 부동 소수점 숫자를 표현하는 방법은 더욱 많지만 IEEE 754는 일반적으로 가장 효율적으로 숫자 값을 표현했기 때문에 가장 널리 사용되고 있습니다.
단정밀도 부동 소수점 형식이란 무엇입니까?
단정밀도 부동 소수점 형식은 32비트의 컴퓨터 메모리를 사용하며 다양한 숫자 값을 나타낼 수 있습니다. 종종 FP32라고도 하는 이 형식은 약간의 근사치로 인해 문제가 생기지 않는 계산에 가장 적합합니다.
배정밀도 부동 소수점 형식이란 무엇입니까?
반면에 배정밀도 부동 소수점 형식은 컴퓨터 메모리의 64비트를 차지하며 단정밀도 형식보다 훨씬 정확합니다. 이 형식을 FP64라고 하며 더 큰 범위나 보다 정확한 계산이 필요한 값을 나타내는 데 사용됩니다.
배정밀도를 사용하면 정확도가 높아지지만 더 많은 계산 리소스, 메모리 저장소, 데이터 전송이 필요합니다. 이 형식에 사용되는 비용은 모든 계산에 적합하지는 않습니다.
단정밀도와 배정밀도의 차이점
단정밀도 컴퓨팅과 배정밀도 컴퓨팅을 구분하는 가장 간단한 방법은 부동 소수점 숫자를 나타내는 비트 수를 확인하는 것입니다. 단정밀도의 경우 부동 소수점 숫자를 나타내는 데 32비트가 사용됩니다. 배정밀도의 경우 부동 소수점 숫자를 나타내는 데 64비트가 사용됩니다.
오일러수(e)를 예로 들어 보겠습니다. e의 처음 50자리 소수점은 다음과 같습니다. 2.7182818284590452353602874713526624977572470936999.
다음은 오일러수를 단정밀도로 변환한 이진수입니다.
01000000001011011111100001010100
다음은 오일러수를 배정밀도로 변환한 이진수입니다.
010000000000010110111111 0000101010001011000101000101011101101001
첫 번째 숫자는 밑수를 나타냅니다. 다음 숫자 집합(단정밀도의 경우 8자리, 배정밀도의 경우 11자리)은 편향 지수를 나타냅니다. 마지막 숫자 집합(단정밀도의 경우 23자리, 배정밀도의 경우 52자리)은 가수를 나타냅니다.
비교 차트: 단정밀도 대 배정밀도
|
단정밀도
|
배정밀도
|
개요
|
32비트의 메모리를 사용하여 숫자 값을 나타내며, 비트 중 하나는 가수를 나타냄
|
64비트의 메모리를 사용하여 숫자 값을 나타내며, 비트 중 하나는 가수를 나타냄
|
편향 지수
|
지수에 8비트 사용
|
지수에 11비트 사용
|
가수
|
가수에 23비트를 사용(분수 부분을 나타내기 위함)
|
가수에 53비트를 사용(분수 부분을 나타내기 위함)
|
실제 적용 사례
|
높은 수준의 정밀도 없이 더 광범위한 표현을 필요로 하는 게임이나 프로그램에 주로 사용
|
높은 수준의 정밀도가 필요한 과학적 계산 및 복잡한 프로그램에 주로 사용
|