##
**Numerical computing with IEEE floating point arithmetic. Incl. one theorem, one rule of thumb, and one hundred and one exercises.**
*(English)*
Zbl 0981.68057

Philadelphia, PA: SIAM. xi, 104 p. (2001).

The book is about the IEEE floating point arithmetic standard. The emphasis is on how numbers in general and real numbers in particular can be accurately represented in computer systems and controlled by computer programs. A thorough discussion of problems related with the representation of numbers is followed by the examination of the rules established by the IEEE standard. Also, a discussion is given on how Intel microprocessors, common programming languages and numerical software support the standard.

The book consists of 14 chapters. The fist chapter is a very short historical introduction in the notion of numerical computing. Chapter 2 shortly examines the different historical systems used for the representation of numbers, especially the positional notation of decimal and binary representation. Chapter 3 presents the methods used for the representation of integer and real numbers in computers. Chapter 4 presents the important concepts of the IEEE floating point representation (single, double, and extended formats). Chapter 5 is a comprehensive study of rounding and rounding errors whereas chapter 6 explains correctly rounded floating point operations, according to the IEEE standard. Chapter 7 presents the IEEE standard for exceptions such as underflow and overflow errors. Chapter 8 describes the support provided by Intel microprocessors on floating point arithmetic. Chapter 9 is a short discussion on the covering of the IEEE standard by programming languages like C, Fortran, Java and relevant numerical software like Matlab. Chapter 10 shows how floating point arithmetic is used in C programs. Chapter 11 presents the phenomenon of accuracy loss (cancellation effect) whereas chapter 12 considers how accurately a problem can be solved, independently of the algorithm used (conditioning). Chapter 13 contains a compact presentation of the notion of the stability of algorithms. Finally, chapter 14 is a summary of the concepts discussed throughout the book.

The book provides a sound and compact presentation of the topics related with the representation of numbers in computer systems and computer programs. It is well suited for students and in general for anyone interested in solving problems correctly with computers. Furthermore, most of the topics comprehensively presented here, are difficult to be found efficiently analyzed in other books about mathematics, computers, or numerical analysis. Therefore, it is a very useful book, for gaining a deep understanding of the IEEE standard.

The book consists of 14 chapters. The fist chapter is a very short historical introduction in the notion of numerical computing. Chapter 2 shortly examines the different historical systems used for the representation of numbers, especially the positional notation of decimal and binary representation. Chapter 3 presents the methods used for the representation of integer and real numbers in computers. Chapter 4 presents the important concepts of the IEEE floating point representation (single, double, and extended formats). Chapter 5 is a comprehensive study of rounding and rounding errors whereas chapter 6 explains correctly rounded floating point operations, according to the IEEE standard. Chapter 7 presents the IEEE standard for exceptions such as underflow and overflow errors. Chapter 8 describes the support provided by Intel microprocessors on floating point arithmetic. Chapter 9 is a short discussion on the covering of the IEEE standard by programming languages like C, Fortran, Java and relevant numerical software like Matlab. Chapter 10 shows how floating point arithmetic is used in C programs. Chapter 11 presents the phenomenon of accuracy loss (cancellation effect) whereas chapter 12 considers how accurately a problem can be solved, independently of the algorithm used (conditioning). Chapter 13 contains a compact presentation of the notion of the stability of algorithms. Finally, chapter 14 is a summary of the concepts discussed throughout the book.

The book provides a sound and compact presentation of the topics related with the representation of numbers in computer systems and computer programs. It is well suited for students and in general for anyone interested in solving problems correctly with computers. Furthermore, most of the topics comprehensively presented here, are difficult to be found efficiently analyzed in other books about mathematics, computers, or numerical analysis. Therefore, it is a very useful book, for gaining a deep understanding of the IEEE standard.

Reviewer: A.Samaras

### MSC:

68Q17 | Computational difficulty of problems (lower bounds, completeness, difficulty of approximation, etc.) |

65G99 | Error analysis and interval analysis |

68-04 | Software, source code, etc. for problems pertaining to computer science |

68W30 | Symbolic computation and algebraic computation |