What every computer scientist should know about floating-point arithmetic

  • Authors:
  • David Goldberg

  • Affiliations:
  • Xerox Palo Alto Research Center, Palo Alto, CA

  • Venue:
  • ACM Computing Surveys (CSUR)
  • Year:
  • 1991

Quantified Score

Hi-index 0.05

Visualization

Abstract

Floating-point arithmetic is considered as esoteric subject by many people. This is rather surprising, because floating-point is ubiquitous in 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 paper presents a tutorial on the aspects of floating-point that have a direct impact on designers of computer systems. It begins with background on floating-point representation and rounding error, continues with a discussion of the IEEE floating point standard, and concludes with examples of how computer system builders can better support floating point.