IEEE 754 浮動小数点変換ツール
10進数を正確なIEEE 754の2進表現に変換します(32ビット単精度または64ビット倍精度)。符号・指数部・仮数部のビット配置、16進数の値、特殊値(NaN、無限大、ゼロ、非正規化数)の判定を含む詳細な内訳を表示します。
入力
通常の10進数に加え、Infinity、-Infinity、NaN を入力できます。
出力
| 項目 | 値 |
|---|---|
| No data yet | |
このツールを使う他の方法
REST API
curl -X POST https://api.iotools.cloud/v1/tool/ieee-754-floating-point-converter \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"decimal": "1",
"precision": "32"
}'ご自身のアカウントのキーに差し替えてください。ツールのフィールドがそのままリクエストボディになります——ラッパーはありません。
AIエージェントに依頼する
Use the IOTools `ieee-754-floating-point-converter` tool (IEEE 754 Floating Point Converter) on this input:
YOUR_INPUT_HEREIOTools MCPサーバーに接続された任意のエージェントにこれを貼り付け、入力内容を追加してください。
埋め込みウィジェット
<iframe
src="https://iotools.cloud/embed/ieee-754-floating-point-converter/"
width="100%" height="520" frameborder="0" scrolling="no" loading="lazy"
title="IEEE 754 浮動小数点変換ツール — iotools.cloud"
sandbox="allow-scripts allow-forms allow-same-origin allow-downloads allow-popups allow-popups-to-escape-sandbox"
allow="clipboard-write"
style="width:100%;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden"></iframe>
<script src="https://iotools.cloud/embed.js" async></script>ご自身のページに貼り付けるだけ——無料、キー不要、リンクを掲載するだけです。
| API/MCP 1回あたりの費用 | 5クレジットから |
|---|---|
| クレジットが足りませんか? | 料金を見る |
次の方法でも利用可能
ガイド
任意の10進数を正確な IEEE 754 の2進表現に変換し、コンピュータがその数値をどのように格納しているかを確認できます。このツールは 32ビット単精度 と 64ビット倍精度 の符号部・指数部・仮数部のビット配置、16進数による表現、ビット単位の詳細な内訳を表示します。
IEEE 754とは?
IEEE 754 は、ほぼすべてのプロセッサやプログラミング言語が浮動小数点数の表現に用いている規格です。1つの数値は3つの部分に分けて格納されます。
- 符号 (1ビット) — 0 は正、1 は負を表します。
- 指数部 — バイアスを加えた2の累乗です (単精度は8ビット、倍精度は11ビット)。格納される値は バイアス (32ビットでは127、64ビットでは1023) だけずらされているため、正と負の指数をどちらも符号なしのフィールドに収めることができます。
- 仮数部 / 小数部 — 有効数字です (単精度は23ビット、倍精度は52ビット)。正規化された数では先頭に暗黙の
1.があると仮定されるため、追加で1ビット分の精度が得られます。
値は (-1)^符号 × 1.仮数 × 2^(指数 − バイアス) で求められます。
このツールの使い方
- 10進数を入力します。例:
3.14、-0、Infinity、NaN。 - 単精度 (32ビット) または 倍精度 (64ビット) を選びます。
- 結果がすぐに表示されます。3つの部分を区切った2進数の文字列 (
符号 指数 仮数)、16進数の値、そして生の指数とバイアス補正後の指数、有効数字、判定された値の種類、丸め処理後に実際に格納される値を含む内訳表です。
2進数の出力は3つのフィールドが分かりやすいように空白で区切られています。例: 0 10000000 10010001111010111000011。
特殊な値
このツールは、規格で定義された特殊なケースを検出し、ラベルを付けて表示します。
- ±0 — 指数部と仮数部のすべてのビットが0です (正のゼロと負のゼロは区別されます)。
- 非正規化数 (denormalized) — 指数部が0で仮数部が0以外です。正規化できないほど小さい数に使われます。
- ±Infinity (無限大) — 指数部が最大値で仮数部が0です。
- NaN (非数) — 指数部が最大値で仮数部が0以外です。
なぜ 0.1 + 0.2 は 0.3 と等しくないのか?
0.1 は2進数では正確に表現できないからです。このツールで 0.1 を変換すると、単精度の「格納される値」は 0.10000000149011612 と表示されます。これは32ビット浮動小数点数で最も近い値です。1/10 は無限に続く2進展開 (0.0001100110011...) になるため、仮数部に収まるよう丸められます。0.1、0.2、0.3 の小さな丸め誤差は互いに打ち消し合わず、合計はわずかに 0.3 からずれてしまいます。これは2進浮動小数点数に本質的な性質であり、特定の言語のバグではありません。
なぜ指数は「バイアス付き」なのか?
指数を固定のバイアスを加えた符号なしの値として格納すると、同じビットパターンの比較で浮動小数点数の大小を順序付けでき、指数用の別個の符号ビットも不要になります。生の指数からバイアス (127 または 1023) を引くと、実際の2の累乗が得られます。このツールは両方の値を表示します。
単精度と倍精度
倍精度は仮数部に52ビットを使い、単精度の23ビットより多くなっています。そのため、より多くの10進数の桁を正確に表現できます (有効数字は単精度で約6〜7桁、倍精度で約15〜17桁)。JavaScript の数値やほとんどの言語の既定の浮動小数点型は、64ビットの倍精度です。
プライバシー
すべての変換はブラウザ内でローカルに行われ、プラットフォーム標準の DataView/ArrayBuffer を使用します。これはCPUが実際に使っているのとまったく同じIEEE 754の仕組みです。入力した内容はどこにも送信されません。