時間/数値

IEEE 754浮動小数点コンバーター

10進数 ↔ IEEE 754 2進数表現(単精度または倍精度) — 符号、指数部、仮数部、特殊値。


            

Computers store fractional numbers in binary under the IEEE 754 standard — a sign, an exponent, and a mantissa, packed into a fixed number of bits. This tool shows that representation for any decimal number and parses it back into a number.

How to use it

Common uses

Things to keep in mind

Most decimal fractions (0.1, for example) have no exact binary representation — that's the root cause of the typical rounding errors seen in calculation results.

Comparing floating-point numbers for exact equality (===) is unreliable — check instead whether the difference is smaller than a small threshold (epsilon).

このツールに関する記事: IEEE 754:コードで0.1 + 0.2が0.3にならない理由

よくある質問

単精度と倍精度の違いは何ですか?

単精度(float、32ビット)は約7桁の10進精度を、倍精度(double、64ビット)は約15〜17桁を与えます。JavaScriptのNumber型は倍精度を使用します。

なぜ一部の10進数が精度を失うのですか?

IEEE 754は数値を2進数で保存しますが、多くの10進小数(0.1など)には正確な有限の2進表現がありません — そのため、わずかな丸め誤差を伴う最も近い可能な値が保存されます。

NaN、Infinity、-0は何を意味しますか?

NaNは0/0のような無効な演算の結果です。Infinity/-Infinityは値が表現可能な範囲を超えたとき(0での除算など)に現れます。+0と-0は符号付きゼロの2つの異なるビット表現ですが、数値としては等しいです。

非正規化数(subnormal)とは何ですか?

通常の形式には大きさが小さすぎる数値のための特別な表現モードです——仮数部の暗黙の先頭1が省略され、精度の一部を犠牲にして段階的にゼロに近づくことができます。

厳密な等価性のチェックの代わりに、分数を正しく比較するにはどうすればよいですか?

a === bの代わりに、数値の差が小さなしきい値(イプシロン)より小さいかどうかを確認します: Math.abs(a - b) < 1e-9。丸め誤差のため、厳密な等価性が保証されることはほとんどありません。

記事: 時間/数値

Unix時間:コンピュータが1970年から時間を数える理由

1970年1月1日がほとんどのコンピュータシステムにとって時間の基準点になった理由。

Cron式:タスクのスケジュールを読み解く方法

*/15 * * * *のような式を読み解き、タスクが正確にいつ実行されるかを知る方法。

数値システム:2進法、8進法、16進法が存在する理由

CSSの色#FF5733が10進数ではなく16進数の桁で書かれる理由。

ビット演算:AND、OR、XORがビットレベルでどう動作するか

ビットAND が論理ANDとどう違うか、そしてなぜ数値の個々のビットを操作する必要があるのか。

日付の差:日数を数えることが見た目より複雑な理由

うるう年のせいで日付を単純に引き算すると間違った結果になる理由。

年齢計算:単純な年の引き算ではない理由

単純に生まれた年を引き算すると、実際より1歳多い年齢になることがある理由。

タイムゾーン:UTCがGMTと同じではない理由

UTCが年に2回変わることはないのに、ロンドン時間(GMT/BST)は変わる理由。

時間計算:時間・分・秒を正しく合計する方法

分と秒を足すとき、10進法の足し算と同じように余りを次の桁に「繰り上げ」なければならない理由。

ISO 8601 Duration:標準フォーマットで時間の長さを書く方法

PT1H30Mが「1時間30分」を意味し、「1分30時間」を意味しない理由。

週番号:国によって週の数え方が異なる理由

ISO 8601標準では1月1日が前年の第52週または第53週に属することがある理由。

ローマ数字:ゼロも位取りもないシステムの仕組み

IVが6ではなく4を意味する理由と、ローマ数字における減算のルールの仕組み。

数字を言葉に:数字を単語に変換する理由

銀行文書が金額を数字と言葉の両方で同時に書く理由。