IEEE 754 FLOAT INSPECTOR
Type a number and watch it get rounded. Every value here is computed with exact rational arithmetic in BigInt, so the “exact stored value” really is exact — all 751 digits of it when that is what the bits mean.
The neighbour buttons step one representable value at a time — the smallest change this format can express at this magnitude — and the exponent buttons halve or double it. On a desktop you can also click any bit in the strip to flip it directly; sixty-four bits cannot each be a thumb-sized target on a phone, so there the strip is a readout and these buttons do the editing.
The classic trap: 0.1 + 0.2 === 0.3 is false. Not because floating point is
random, but because each of the three is already a different number than it looks, and the
sum is rounded once more. Both operands are rounded to the format, the exact real result of
the operation is computed as a fraction, and that is rounded once — which is exactly
what the hardware does.
Every format is the same three fields in a different balance: more exponent bits buy range,
more significand bits buy precision. bfloat16 keeps binary32's exponent and
throws away 16 bits of significand, which is why it drops into a machine-learning pipeline
where binary16 overflows.
A gap wider than 1 is why a counter stored in binary32 stops counting at 16 777 217, and why seconds-since-epoch in binary32 cannot even resolve a minute.
"0.1 was never 0.1. Here is the number your machine actually keeps."