maths.free › Numerical Methods › Floating point and error

Floating point and error

Why 0.1 + 0.2 ≠ 0.3 on a computer, and how error propagates.

Computers store numbers in binary with ~16 significant digits; 0.1 is not representable exactly. Round-off accumulates, and subtracting nearly equal numbers destroys digits (cancellation). Picture it: 255 in binary is 11111111, and 0.1 in binary never terminates. Think it: a stable algorithm keeps error growth linear; conditioning is a property of the problem, stability of the method.

Worked example · 0.1 + 0.2

Evaluate 0.1 + 0.2

0.1 + 0.2

Step by step

  1. 0.3 = \frac{3}{10}

    Add: 0.1 + 0.2 = 3/10.

  2. \frac{3}{10} = 0.3

    Simplify.

Reveal the answer
0.3

Now you Pick a problem, or type or draw your own. Every step, a picture, the answer hidden until you ask.

Keep your own working

A free account adds notes on every lesson, a record of what you have finished, your solved problems in one place, and a tutor you can ask about this page. The maths itself is open to everyone, signed in or not.

Sign Up Login

Symbols used here

Tap any symbol for the full definition, a picture, and what every letter in it means.

How to: Floating point and error

  1. Add: 0.1 + 0.2 = 3/10.
  2. Simplify.

Questions people ask

Why not just solve exactly?

Most equations have no closed-form solution at all, and many that do are unusable in practice. A numerical method delivers as many correct digits as you need, and a good one tells you how many that is.

Why can Newton's method fail?

If it starts where the tangent is nearly flat it shoots far away; near a repeated root it slows to a crawl; and with several roots it may land on the wrong one. A bracketing method like bisection is slower but cannot fail.

More in Numerical Methods