Skip to content

Fixed Point Representation

Before exploring how modern computers store real numbers, we start with the simplest scheme: fixed-point representation. Here the position of the radix point (the generalisation of the “decimal point” to any base) is predetermined and never changes.


Notation

A fixed-point number is written as:

X=± (d1 d2 ⋯ dk−1 . dk ⋯ dn)βX = \pm\,(d_1\,d_2\,\cdots\,d_{k-1}\,.\,d_k\,\cdots\,d_n)_\beta

SymbolMeaning
β\betaBase (radix) of the number system
d1,d2,…,dnd_1, d_2, \ldots, d_nDigits, each satisfying 0≤di≤β−10 \le d_i \le \beta - 1
.The radix point which separates the integer part (left) from the fractional part (right)
±\pmSign of the number

How to Evaluate a Fixed-Point Number

Each digit is multiplied by the base raised to its position’s power. Positions to the left of the radix point have non-negative powers; positions to the right have negative powers.

X=± ∑idi×β piX = \pm\,\sum_{i} d_i \times \beta^{\,p_i}

where pip_i is the power at position ii.

Example: Binary to Decimal

Convert (10.1)2(10.1)_2 to base 10.

Position212^1202^0.2−12^{-1}
Digit10.1
Value20—12\frac{1}{2}
1×21  +  0×20  +  1×2−1  =  2+0+12  =  2.51 \times 2^1 \;+\; 0 \times 2^0 \;+\; 1 \times 2^{-1} \;=\; 2 + 0 + \tfrac{1}{2} \;=\; \mathbf{2.5}

So (10.1)2=(2.5)10(10.1)_2 = (2.5)_{10}.

Example: Signed Decimal

The number −(12.3)10-(12.3)_{10} evaluates as:

−(1×101+2×100+3×10−1)=−(10+2+0.3)=−12.3-\bigl(1 \times 10^1 + 2 \times 10^0 + 3 \times 10^{-1}\bigr) = -(10 + 2 + 0.3) = -12.3

In base 10 this is simply the familiar signed decimal −12.3-12.3.


The Fundamental Limitation

Because the radix point is fixed, a single representation must commit to how many bits it allocates for the integer part versus the fractional part. This creates an unavoidable trade-off:

  • A system with many integer digits can store large numbers, but cannot represent small fractions precisely.
  • A system with many fractional digits provides fine resolution near zero, but overflows on large values.

Example: With 8 binary digits split 4 integer + 4 fractional (e.g. IIII.FFFF):

QuantityRepresentationExact?
15.937515.93751111.1111✓
0.06250.06250000.0001✓
100100—✗ overflow
0.0010.001—✗ underflow

This inflexibility motivates a much more powerful scheme where the radix point is free to “float” to any position.