UTILS.
100% ブラウザ内で完結
💾

IEEE-754 浮動小数点変換ツール

10進数をIEEE-754の単精度(32ビット)または倍精度(64ビット)のビットパターンに相互変換し、符号・指数・仮数フィールドを分解します。

上に数値またはビットパターンを入力してください。

このツールについて

IEEE-754 浮動小数点変換ツールは、数値が32ビット単精度または64ビット倍精度の浮動小数点としてメモリにどう保存されるかを正確に示し、生のビットパターンを10進値に逆変換できます。JavaScriptの型付き配列(Float32Array / DataView)を使うため、ビットパターンは近似ではなく本物のハードウェア表現です。

順方向モードではパターンを16進として、また3つのフィールドに分割したバイナリとして報告します:符号ビット、指数(float32はバイアス127の8ビット、float64はバイアス1023の11ビット)、仮数(23または52ビット)。バイアスなし指数もデコードし、値を正規化数、非正規化数、ゼロ、無限大、NaNに分類します。重要なのは、ビットから読み戻した正確な保存値を表示することで——これはfloat32では入力した値としばしば異なり、浮動小数点の丸め誤差を可視化します。たとえば0.1はどちらの精度でも正確には保存されません。

逆方向モードでは16進パターン(0xの有無を問わず)または全幅のバイナリ文字列を貼り付けると、それらのビットを浮動小数点として再解釈し、結果の10進値と同じフィールド分解を表示します。すべてがブラウザ内でローカルに実行されます。これは丸めの理解、単精度と倍精度の比較、±0、±∞、NaNの特殊なエンコードの調査に欠かせないツールです。

よくある質問

なぜ保存された値が入力した値と異なるのですか?
ほとんどの10進小数はバイナリ浮動小数点で正確に表現できないため、最も近い表現可能な値が保存されます。変換ツールはビットを読み戻してその正確な保存値を表示し、丸め誤差を明らかにします——特に32ビット単精度で顕著です。
フィールドはどう配置されますか?
Float32は1符号ビット、8指数ビット(バイアス127)、23仮数ビットを使い、float64は1符号ビット、11指数ビット(バイアス1023)、52仮数ビットを使います。バイアスなし指数は生の指数からバイアスを引いたものに等しくなります。
ゼロ、無限大、NaNはどうエンコードされますか?
全ゼロの指数と仮数ゼロは±0で、仮数が非ゼロなら非正規化数です。全1の指数は、仮数がゼロなら±無限大、非ゼロならNaNを意味します。ツールは各カテゴリにラベルを付けます。
ビットパターンから数値に戻せますか?
はい。逆方向モードに切り替えて、8桁16進(float32)または16桁16進(float64)のパターン、あるいは完全な32または64ビットのバイナリ文字列を貼り付けると、ツールはそれらの正確なビットを浮動小数点値として再解釈します。

その他のツール