십진수를 컴퓨터 저장 프로시저로 변환
9.625 단정밀도(32비트)를 예로 들어
십진수를 이진수 표현으로 변환
9.625 = 1001.101 = 1 × 2 3 + 0 × 22 + 0 × 21 + 1 × 20 + 1 × 2-1 + 0 × 2-2 + 1 × 2-3
이진수 정규화
IEEE 754에서는 이진 표현이 ±d.dd…d × βe, (0 ≤ d i < β) 형식이어야 한다고 규정합니다.
즉, 1001.101 = 1.001 101 * 23
컴퓨터에 저장됩니다
단정밀도 전체 길이 32비트
1~23은 가수를 나타냅니다. 정규화 후의 이진수는 소수점 왼쪽에 1이 하나만 있으므로 생략 가능하므로 23비트를 사용하여 24비트를 나타냅니다. 즉, 가수는 1.001 101에 001 101입니다
24-30은 지수를 나타냅니다: 1.001의 3 101 * 23
31은 부호를 나타냅니다. 1은 음수, 0은 양수를 나타냅니다.
또한 지수 비트는 8비트로 0~255 사이의 값을 표현할 수 있다. 그러나 지수는 음수일 수 있습니다(예: 0.625 = 0.101(이진수) = 1.01 * 2-1). 따라서 IEEE 754에서는 인덱스가 오프셋 코드를 증가시키도록 규정하고 있습니다: 정규화된 인덱스 값 + 127. 인덱스의 범위는 -127~128이 됩니다. 그러면 위의 지수는 130이 됩니다
위의 규칙에 따라 이진수 뒤의 소수는 컴퓨터에 다음과 같이 저장됩니다. [0] [1000 0010] [0011 0100 0000 0000 0000 000]
정밀도 손실
저작권: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
위에서는 부동 소수점 숫자 ieee 754에 대한 내용을 소개했으며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.