ホームページ >バックエンド開発 >PHPチュートリアル >浮動小数点数 ieee 754
10進数をコンピュータストアドプロシージャに変換します
9.625単精度(32ビット)を例に挙げます
10進数を2進数表現に変換します
9.625 = 1001.101 = 1 × 2 3 + 0 × 22 + 0 × 21 + 1 × 20 + 1 × 2-1 + 0 × 2-2 + 1 × 2-3
2 進数の正規化
ieee 754 では、バイナリ表現は ±d.dd…d × βe , (0 ≤ d i < β) の形式でなければならないと規定しています
つまり、1001.101 = 1.001 101 * 23
コンピュータに保存されます
単精度全長32ビット
1 ~ 23 は仮数を表します。正規化後の 2 進数には小数点の左側に 1 が 1 つだけあるため、これを省略して、23 ビットを使用して 24 ビットを表すことができます。つまり、仮数は 1.001 101 の 001 101 です
24-30 は指数を表します: 3 in 1.001 101 * 23
31 は符号を表します: 1 は負の数を表し、0 は正の数を表します
また、指数ビットは8ビットで0~255の値を表現できます。ただし、指数は負の場合もあります (たとえば、0.625 = 0.101 (2 進数) = 1.01 * 2-1)。したがって、IEEE 754 では、インデックスはオフセット コード (正規化されたインデックス値 + 127) を増やすことと規定されています。指数の範囲は-127~128となります。すると、上記のインデックスは 130 になります
上記のルールに従って、2 進数の後の 10 進数は [0] [1000 0010] [0011 0100 0000 0000 0000 000] としてコンピューターに保存されます
精度は失われます
著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。
以上、浮動小数点数 ieee 754 について、その側面も含めて紹介しましたが、PHP チュートリアルに興味のある友人の役に立てば幸いです。