Convert a hexadecimal number with a fractional part (such as A.4) to decimal exactly – digits after the point use negative powers of 16: 1/16, 1/256 and so on.
Show calculation steps
Processed privately in your browser — nothing you paste is uploaded, logged or stored.
Sixteenths and beyond
Hex digits continue past the point with negative powers of sixteen: the first fractional place is 1/16, then 1/256. A hex fraction is the sum of those weighted digits — and because 16 is a power of two, every finite hex fraction converts to an exact, finite decimal.
Hex fractions are the compact notation for binary fractions — one digit carries four fractional bits — which is why float literals and fixed-point registers are often documented this way.
Worked example
Input: A.4 Integer: A = 10 Fraction: 4/16 = 0.25 Result: 10.25 (exact)
The fractional place table
| Place | Weight |
|---|---|
| .1 | 1/16 = 0.0625 |
| .8 | 8/16 = 0.5 |
| .01 | 1/256 ≈ 0.0039 |
| .04 | 4/256 = 0.015625 |
Connections to floating point
C’s hexadecimal float literals (0x1.8p1 = 3.0) exist precisely because hex fractions map losslessly onto binary mantissas — no decimal rounding ambiguity. Reading an IEEE-754 mantissa in hex and converting it here reproduces the exact stored value, which the IEEE-754 converter then confirms field by field.
Guarantees and privacy
Always exact: n hex places produce at most 4n decimal places, computed rationally. Errors are positional; the only structural rule is a single point. As throughout the cluster, the value never leaves your browser.
Hex fractions are binary fractions in disguise
Because 16 is 2⁴, every hex digit after the point is exactly four binary fraction bits, so a hex fraction terminates precisely when its binary equivalent does: 0.8₁₆ is 0.5 and 0.4₁₆ is 0.25. This is why C’s hexadecimal floating-point literals and the printf %a format exist — a value like 0x1.8p1, meaning 1.5 times two, is exactly 3.0, and hex notation can write any float or double exactly, which decimal often cannot.
How to use the Hex Fraction to Decimal Converter
- Enter a hex value with a point, such as A.4 or 1F.8.
- Click "Convert to decimal".
- The steps show negative powers of 16 for the fractional digits: 1/16, 1/256, …
- The result is always exact – hex fractions terminate in decimal.
Frequently asked questions
How do hex digits after the point work?
They use negative powers of 16: the first place is 1/16, then 1/256. So A.4 = 10 + 4/16 = 10.25, and 0.8 in hex is exactly one half.
Is the decimal always finite?
Yes: 16 = 2⁴ and 2 divides 10, so every finite hex fraction has a finite decimal expansion – at most 4n decimal digits for n hex places.
Where do fractional hex values appear in real life?
Floating-point hex literals (C's 0x1.8p1 notation), fixed-point registers documented in hex, color/alpha fractions, and low-level format specs – anywhere a binary fraction is written compactly.
What does 0.1 in hex equal in decimal?
1/16 = 0.0625 exactly – a nice reminder that ".1" means a different quantity in every base.
Can the integer part use letters too?
Of course – FF.C converts as 255 + 12/16 = 255.75. Both sides of the point use the full sixteen-digit alphabet.
What input errors are caught?
Non-hex digits on either side of the point (with position), and multiple points. There is no overflow – the rational arithmetic is unbounded.
Does this happen in my browser?
Yes – exact fraction arithmetic, locally. Nothing about your value is recorded.