Number & Data
Decompose floating-point numbers into sign, exponent, and mantissa. Convert between hex and decimal in single (32-bit) and double (64-bit) precision.
Single (32-bit / float) or Double (64-bit / double).Input box — either a hex literal like 40490FDB or a decimal like 3.14159.Decimal Value field updates instantly with the number's value (or NaN / Infinity for special bit patterns).Bit Decomposition — sign, exponent, and mantissa bits are color-coded to match the legend below.Details panel for the value type, raw and biased exponent, mantissa, and the full hex representation.Copy or Copy Decimal to grab the input or the computed value to your clipboard.See the three fields behind every number — sign, exponent, and mantissa — laid out bit by bit so the IEEE 754 format is no longer a black box.
See why 0.1 + 0.2 !== 0.3 by inspecting the raw bits. The mantissa reveals exactly which values cannot be represented exactly.
Read a hex literal like 40490FDB as the float 3.1415927… (or the reverse) to interpret memory dumps, logs, and serialized data.
Instantly identify NaN, Infinity, signed zero, and denormalized numbers by their distinctive exponent and mantissa bits.
Compare the exact 32- or 64-bit pattern against what a protocol, file, or embedded device expects before writing serialization code.
Everything runs in your browser. Nothing is uploaded, logged, or sent to a server — safe for inspecting proprietary or sensitive values.
It takes a number — as decimal text or a raw hex bit pattern — and decomposes it into the three IEEE 754 fields: sign, exponent, and mantissa. It shows the decimal value, the color-coded bits, and a breakdown of the type and each field.
Single precision is 32 bits (1 sign, 8 exponent, 23 mantissa) — what C's float uses. Double precision is 64 bits (1 sign, 11 exponent, 52 mantissa) — what C's double and JavaScript's Number use.
0.1 has no exact finite binary representation, so it is stored as the nearest representable value. The mantissa shows that infinite repeating fraction truncated — the root of the classic 0.1 + 0.2 !== 0.3 surprise.
Infinity is a maximum exponent with a zero mantissa; NaN is a maximum exponent with a nonzero mantissa. Denormalized numbers use a zero exponent field to represent values very close to zero, with reduced precision.
The bias (127 for single, 1023 for double) lets exponents be stored as unsigned integers, so ordering and special values fall into place naturally. The Details panel shows both the raw and actual exponent.
Yes. The input accepts decimal numbers like 3.14159 and hex bit patterns like 40490FDB or 0x40490FDB, and chooses the correct conversion automatically.
No. All conversion happens locally in JavaScript using DataView and ArrayBuffer. Your input is never sent to, stored on, or logged by any server.