

The first section, Rounding Error, discusses the implications of using different rounding strategies for the basic operations of addition, subtraction, multiplication and division. It consists of three loosely connected parts. This paper is a tutorial on those aspects of floating-point arithmetic ( floating-point hereafter) that have a direct connection to systems building. One of the few books on the subject, Floating-Point Computation by Pat Sterbenz, is long out of print. There are, however, remarkably few sources of detailed information about it. Introductionīuilders of computer systems often need information about floating-point arithmetic. General Terms: Algorithms, Design, LanguagesĪdditional Key Words and Phrases: Denormalized number, exception, floating-point, floating-point standard, gradual underflow, guard digit, NaN, overflow, relative error, rounding error, rounding mode, ulp, underflow.

It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating-point standard, and concludes with numerous examples of how computer builders can better support floating-point.Ĭategories and Subject Descriptors: (Primary) C.0 : General - instruction set design D.3.4 : Processors - compilers, optimization G.1.0 : General - computer arithmetic, error analysis, numerical algorithms (Secondary)ĭ.2.1 : Requirements/Specifications - languages D.3.4 Programming Languages]: Formal Definitions and Theory - semantics D.4.1 Operating Systems]: Process Management - synchronization. This paper presents a tutorial on those aspects of floating-point that have a direct impact on designers of computer systems. Almost every language has a floating-point datatype computers from PCs to supercomputers have floating-point accelerators most compilers will be called upon to compile floating-point algorithms from time to time and virtually every operating system must respond to floating-point exceptions such as overflow. This is rather surprising because floating-point is ubiquitous in computer systems. Copyright 1991, Association for Computing Machinery, Inc., reprinted by permission.įloating-point arithmetic is considered an esoteric subject by many people. Note This appendix is an edited reprint of the paper What Every Computer Scientist Should Know About Floating-Point Arithmetic, by David Goldberg, published in the March, 1991 issue of Computing Surveys. Appendix D What Every Computer Scientist Should Know About Floating-Point Arithmetic
