Professional Documents
Culture Documents
17.1
Floating point numbers with base 10
𝑥 = ±(.𝑑1 𝑑2 . . . 𝑑𝑛 )2 · 2𝑒
12.625 = + (.11001010)2 · 24
= + (1 · 2−1 + 1 · 2−2 + 0 · 2−3 + 0 · 2−4 + 1 · 2−5
+ 0 · 2−6 + 1 · 2−7 + 0 · 2−8) · 24
requires 32 bits: 1 sign bit, 23 bits for mantissa, 8 bits for exponent
requires 64 bits: 1 sign bit, 52 bits for mantissa, 11 bits for exponent
Machine precision (of the binary floating point number system on page 17.4)
𝜖M = 2−𝑛
Interpretation
Rounding rules
fl(𝑥) = 1 for 1 ≤ 𝑥 ≤ 1 + 𝜖 M
fl(𝑥) = 1 + 2𝜖M for 1 + 𝜖M < 𝑥 ≤ 1 + 2𝜖M
| fl(𝑥) − 𝑥|
≤ 𝜖M
|𝑥|
− log10 𝜖 M
>> (1 + 1e-16) - 1
ans = 0
>> (1 + 2e-16) - 1
ans = 2.2204e-16
>> (1 - 1e-16) - 1
ans = -1.1102e-16
>> 1 + (1e-16 - 1)
ans = 1.1102e-16
x = 2;
for i=1:54
x = sqrt(x);
end;
for i=1:54
x = x^2;
end
((1 + x) - 1) / (1 + (x - 1))
10−16 x 10−15