How Computers Handle Numbers

This could be called "Computer Arithmetic Uncovered". It describes how computers store and process integers and floating point numbers (real and complex), the exceptions that might arise and what they mean. The intent is to describe how to get reliable answers for a reasonable amount of effort, and be able to understand strange results and effects.

Presentation and Notes


Notes, intended for reading

People should read these before looking at any of the other references.

Computer Laboratory's Course

Floating Point Computation

This is a four-lecture course on floating-point computation currently being given by the Computer Laboratory to computer scientists.

Older Numerical Analysis Course

Basic numerical analysis course notes

Advanced numerical analysis course notes

This was given for many years by Dr. M.R. O'Donohoe to computer scientists.

Extra Material

Most people should NOT read these, as the course describes how to avoid getting caught up in these messes.

Extra presentation foils

This gives some of the sordid details.

How to handle numeric errors in C99

This is an example of how to use C99's error handling, relying only on what the standard specifies (as far as is possible). It may help to explain why this aspect of C99 has not been widely adopted.

A test program to show one of Annex G's problems