1. For each of the following questions, answer true or false, with reasons:
(a) Floating-point numbers are uniformly distributed.
(b) If two real numbers can be represented exactly in a floating-point number system, then the result of an arithmetic operation on these numbers can also be represented exactly.
(c) Floating-point addition is commutative.
(d) Floating-point addition is associative.
(e) IEEE double-precision floating-point numbers have a mantissa that is twice the length of IEEE single-precision floating-point numbers.
(f) The unit roundoff, or machine precision, is the smallest positive number that can be added to one and produce a result greater than one in the floating-point number system.
2. Describe the four numbers (β, p, L, U) that define a floating-point number system.
3. Define underflow and overflow. Which one is more problematic, and why?
4. Of the four basic arithmetic operations (addition, subtraction, multiplication and division), which ones can not produce overflow when applied to two positive numbers?
5. What is the benefit of normalizing floating-point numbers? What is a good reason not to normalize them? Explain how the use of gradual underflow yields a "best-of-both-worlds" situation.
6. Explain the difference between chopping and rounding. What is the benefit of rounding to even?
7. What is cancellation error, and under what circumstances does it arise?
8. Give an example of a number that can be represented exactly in decimal, but not in binary.