IEEE-754 Floating Point Explorer
Dissects any number into its IEEE-754 binary representation — float64 and float32 side by side — with every bit as a clickable box: flip one and watch both precisions update. Enter a decimal or hex bit pattern either way. Each panel shows classification (normal, subnormal, zero, infinity, NaN), the exact stored decimal computed with big-integer arithmetic, ULP gap, and adjacent representable neighbors on a number line. Presets walk through 0.1+0.2, 2⁵³, MAX_SAFE_INTEGER, machine epsilon, subnormals, ±0, ±Infinity and NaN payloads. An optional FP16 / bfloat16 row shows how ML formats truncate the same value.
Runs 100% in your browser — nothing you paste leaves your device.
Read the full guide to this tool
Notes
- 0.1 + 0.2 ≠ 0.3 because none of the three numbers is representable in binary: the two rounding errors in the operands do not cancel the rounding of 0.3.
- Above 2⁵³ a float64 cannot represent every integer: 2⁵³ + 1 rounds back to 2⁵³ — the reason JavaScript has Number.MAX_SAFE_INTEGER and BigInt.
- Subnormal numbers fill the gap between zero and the smallest normal float by sacrificing precision — and are often 10-100× slower in hardware.
- The gap between adjacent floats (1 ULP) grows with magnitude: near 1 it is 2.2×10⁻¹⁶, near 2⁵³ it is exactly 1.0.
- Runs 100% in your browser — nothing you paste leaves your device.