IEEE 754 Floating-Point Converter (binary16 / 32 / 64 / 128)
Convert between decimal and IEEE 754 binary representations (binary16 half, binary32 single, binary64 double, binary128 quad). Show sign / exponent / mantissa bit fields, the exact stored value via BigInt, absolute & relative rounding error, classification (normal / subnormal / ±0 / ±inf / qNaN / sNaN), a clickable bit grid, ULP next/previous stepping, hex-float parsing (0x1.8p+1), and side-by-side precision comparison. 100% client-side, BigInt-correct for all four widths.
About IEEE 754 Floating-Point Converter (binary16 / 32 / 64 / 128)
Convert between decimal and IEEE 754 binary representations (binary16 half, binary32 single, binary64 double, binary128 quad). Show sign / exponent / mantissa bit fields, the exact stored value via BigInt, absolute & relative rounding error, classification (normal / subnormal / ±0 / ±inf / qNaN / sNaN), a clickable bit grid, ULP next/previous stepping, hex-float parsing (0x1.8p+1), and side-by-side precision comparison. 100% client-side, BigInt-correct for all four widths. Everything runs locally in your browser — your data never leaves your device.
How to use
- Enter your input in the tool above.
- Adjust any options to your preference.
- Use the Copy or Download buttons to save the result.
- Everything happens locally — your data never leaves your browser.
FAQ
What does the IEEE 754 converter do?
Type a decimal number (or a hex float like 0x1.8p+1) and the tool decomposes it into the IEEE 754 sign / exponent / mantissa bit fields for all four standard widths — binary16 (half), binary32 (single), binary64 (double), and binary128 (quad). You see the raw bit pattern in binary and hex, the field breakdown, the classification (normal / subnormal / ±0 / ±inf / qNaN / sNaN), the exact value actually stored (computed with BigInt so it is correct to the last digit), and the absolute / relative rounding error versus your typed input.
How are special values (inf, NaN, subnormals, ±0) handled?
All four widths follow the IEEE 754 encoding: an all-ones exponent with a zero mantissa is ±inf, an all-ones exponent with a non-zero mantissa is NaN (most-significant mantissa bit set = qNaN, cleared = sNaN), an all-zero exponent with a non-zero mantissa is a subnormal, and an all-zero exponent with a zero mantissa is ±0 (distinguished by the sign bit). The tool labels each of these explicitly and the clickable bit grid highlights the field boundaries.
How does the binary128 path work when JavaScript has no native 128-bit float?
binary16 / 32 / 64 use the browser's typed arrays (DataView + Uint16Array / Float32Array / Float64Array) for hardware-exact conversion. For binary128, which has no native JS type, the tool falls back to a BigInt-based path: the decimal input is parsed as an exact rational (numerator / denominator), the nearest representable quad-precision value is computed with round-to-nearest-even, and the exact stored decimal is reconstructed from the bits via BigInt math. It is correct but slower than the hardware paths.
What is ULP stepping and hex-float parsing?
ULP (unit in the last place) is the gap between two consecutive representable floats at the current exponent. The Next / Previous buttons step the value by exactly one ULP, so you can walk every representable number in the chosen precision. Hex-float parsing accepts the C99 / JS-style literal 0x1.91eb86p+1, where the part before 'p' is a hex fraction and the part after is a binary exponent — useful for copying exact bit patterns out of compiler diagnostics or specs.
What extra features does this tool have compared to other IEEE 754 converters?
(1) All four widths — binary16, 32, 64, and 128 — in one tool (most only do 32 or 64). (2) Exact stored value to the last digit via BigInt (not a re-printed JS number). (3) Absolute AND relative rounding error displayed side-by-side. (4) Full classification including qNaN vs sNaN and ±0 distinction. (5) Clickable bit grid — toggle any bit and watch every field update. (6) Per-field color coding (sign / exponent / mantissa). (7) Hex-float input parsing (0x1.8p+1). (8) ULP next / previous stepping. (9) Side-by-side precision comparison of the same input across all four widths. (10) Copy fields / hex / binary. (11) History (localStorage, last 20). (12) Shareable URL with full state round-trip. 100% client-side and offline — your numbers never leave the device.
Related tools
.bashrc / .zshrc Alias & Config Manager
Build shell aliases, functions, exports, and PATH edits in a visual editor, then export a clean, commented .aliases file sourced from both .bashrc and .zshrc — with shadowing detection against shell builtins and common CLI tools, function suggestions when args are needed, starter packs (git, docker, kubectl, navigation, safety, ls, dev, devops, data science), import of existing rc files, dedupe, history (localStorage), and shareable URL. 100% client-side.
Add / Subtract Date Calculator
Add or subtract years, months, weeks, days, hours, minutes and seconds from a starting date/time. Calendar-day or business-day mode with custom weekend + holiday list. Month-end policy toggle (clamp to last day vs overflow). Repeat/series mode (e.g. every 2 weeks x 10) with CSV export. Shareable URL. 100% client-side.
Age Calculator
Calculate exact age from a birth date in calendar years/months/days (no negative-day bugs) plus totals in months/weeks/days/hours/minutes/seconds. Next-birthday countdown with weekday. Feb-29 birthday policy toggle. Milestones (1,000 days, 10,000 days, 1 billion seconds). Zodiac sign + Chinese zodiac. Age gap comparison. Shareable URL. 100% client-side.