Categories

# Floating-Point Numbers

1914

Floating-Point Numbers

Leonardo Torres y Quevedo (1852–1936), William Kahan (b. 1933)

“Leonardo Torres y Quevedo was a Spanish engineer and mathematician who delighted in making practical machines. In 1906, he demonstrated a radio-controlled model boat for the king of Spain, and he designed a semirigid airship used in World War I.

Torres was also a fan of Babbage’s difference and analytical engines. In 1913, he published Essays in Automatics, which described Babbage’s work and presented the design for a machine that could calculate the value of the formula a(y–z)2 for specified values of a, y, and z. To allow his machine to handle a wider range of numbers, Torres invented floating-point arithmetic.

Floating-point arithmetic extends the range of a numerical calculation by decreasing its accuracy. Instead of storing all of the digits in a number, the computer stores just a few significant digits, called the significand, and a much shorter exponent. The actual “number” is then computed using the formula: significand × baseexponent

For example, the gross domestic product of the United States in 2016 was 18.57 trillion dollars. Storing that number with a fixed-point representation requires 14 digits. But storing it in floating point requires just 6 digits: \$18.57 trillion = 1.857 × 1013

Thus, with floating-point numbers, sometimes called scientific notation on modern calculators, a 10-digit register (a mechanical or electronic gadget that can store a number) that would normally be limited to storing numbers between 1 and 9,999,999,999 instead can be partitioned into an 8-digit significand and a 2-digit exponent, allowing it to store numbers as small as 0.0000001 × 10–99 and as large as 9.9999999 × 1099.

Modern floating-point systems use binary rather than decimal digits. Under the standard developed by Canadian mathematician William Kahan for the Intel 8086 microprocessor and adopted in 1985 by the Institute of Electrical and Electronics Engineers (IEEE 754), single precision floating point uses 24 bits for the significand and 8 bits for the exponent.”

For his work, Kahan won the Association for Computing Machinery’s (ACM) A.M. Turing Award in 1989.”