IEEE 754 浮動小数点数変換ツール
10進数の数値を、IEEE 754規格の16進数(HEX)および2進数(Binary)へ相互に変換します。
高度な設定 精度(32bit/64bit)・バイト順・ワード順
フォーマット設定
浮動小数点数のビット幅を選択します。単精度は8文字(HEX)、倍精度は16文字(HEX)になります。
32bit値の表記を基準に、通常順、各16bitワード内のバイト反転、16bitワード順の反転、全バイト反転を選択します。Float64でも同じ規則を全バイトへ適用します。
HEXとBinaryの表示を、コピーしやすい連続形式または読みやすいバイト区切りに切り替えます。
IEEE 754のビット列を保ったままABCD → BADC → CDAB → DCBAの順に切り替えます。Float32の12.5では 41480000 → 48410000 → 00004148 → 00004841 です。
IEEE 754 解析結果
値を入力すると、符号・指数・仮数をここに表示します。
※ Binary/HEXから入力したNaNは、並び順を切り替えても符号・quiet/signaling・payloadを含む元のビット列を保持します。10進数欄にNaNを入力した場合はブラウザ標準のNaN表現になります。
IEEE 754 変換について
このツールは、プログラミングやデバッグの際に必要となる、IEEE 754規格の浮動小数点数の内部表現(16進数ダンプおよび2進数)を簡単に確認・変換するためのツールです。いずれか1つの入力欄に値を入力すると、他のフォーマットに自動的に変換されます。
- センサーや通信プロトコルから取得したHEXデータを元の数値(10進数)に戻したいとき
- C言語やマイコン開発でFloat型のメモリダンプを確認したいとき
- ABCD・BADC・CDAB・DCBAのバイト順・ワード順を変換したいとき
- 符号ビット・指数部・仮数部を分解して、IEEE 754の内部表現を確認したいとき
- Modbus、PLC、センサーデータ、バイナリログ、通信プロトコルの浮動小数点数を確認したいとき
入力値の変換処理はすべてブラウザ上で行われ、入力した数値・HEX・Binaryが変換のためにサーバーへ送信されることはありません。サイトの利用状況を把握するため、Google Analyticsによるアクセス解析を使用しています。
IEEE 754 変換早見表
よく使われる値のIEEE 754表現です。Float32は単精度、Float64は倍精度のBig Endian表記を掲載しています。Little Endianではバイト順が逆になります。
| 10進数 | Float32 HEX Big Endian |
Float32 HEX Little Endian |
Float64 HEX Big Endian |
分類 |
|---|---|---|---|---|
| 0 | 00000000 | 00000000 | 0000000000000000 | +0 |
| -0 | 80000000 | 00000080 | 8000000000000000 | -0 |
| 1 | 3F800000 | 0000803F | 3FF0000000000000 | Normal |
| -1 | BF800000 | 000080BF | BFF0000000000000 | Normal |
| 0.1 | 3DCCCCCD | CDCCCC3D | 3FB999999999999A | Normal |
| 12.5 | 41480000 | 00004841 | 4029000000000000 | Normal |
| Infinity | 7F800000 | 0000807F | 7FF0000000000000 | Infinity |
| -Infinity | FF800000 | 000080FF | FFF0000000000000 | Infinity |
| NaN | 7FC00000 | 0000C07F | 7FF8000000000000 | NaN |
IEEE 754のビット構造
IEEE 754では、浮動小数点数を符号ビット、指数部、仮数部に分けて表現します。指数部がすべて0またはすべて1の場合は、ゼロ、非正規化数、Infinity、NaNなどの特殊な値として扱われます。
Float32 / 単精度
32ビットで構成されます。内訳は符号部1ビット、指数部8ビット、仮数部23ビットです。C言語のfloatやマイコンのセンサーデータでよく使われます。
Float64 / 倍精度
64ビットで構成されます。内訳は符号部1ビット、指数部11ビット、仮数部52ビットです。JavaScriptのNumberや多くの計算処理で使われます。