Floating-point arithmetic is considered an esoteric subject by many people. This
ID: 3735905 • Letter: F
Question
Floating-point arithmetic is considered an esoteric subject by many people. This is rather surprising because floating point is ubiquitous in computer systems. Almost every language has a floating-point data type, 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. Only theoretical mathematicians care about floating point accuracy. Do you agree with this? Support your answer with examples. Search for news or online articles discuss the consequences of a lack of floating point accuracy. Also consider the practical applications of floating numbers in your discussions. Support your opinion with at least one reference.
Explanation / Answer
Floating point arithmetic is one subject that is relatively hard to understand maybe because it is limited to a small number of people. Although it is present everywhere in computer science and there are many algorithms that involve floating point arithmetic but its importance remains unrealized with only theoretical mathematicians caring about floating point accuracy. There are many aspects of floating point that have a direct impact on designers of computer systems.
Builders of computer systems require information about floating point arithmetic but there are very few sources that provide information about the topic.
There are mainly three aspects. Those are:
1. Rounding Error
2. IEEE Standards
3. Connections between floating-point and the design of various aspects of computer systems
Squeezing many real numbers into a finite number of bits requires an
approximate representation. Although there are infinitely many integers, in
most programs the result of integer computations can be stored in 32 bits. In
contrast, given any fixed number of bits, most calculations with real numbers
will produce quantities that cannot be exactly represented using that many
bits. Therefore the result of a floating-point calculation must often be rounded
in order to fit back into its finite representation. This rounding error is the
characteristic feature of floating-point computation.
There are two different IEEE standards for floating-point computation. IEEE 754 is a binary standard that requires = 2, p = 24 for single precision and p = 53 for double precision [IEEE 1987].The IEEE standard gives an algorithm for addition, subtraction, multiplication, division and square root, and requires that implementations produce the same result as that algorithm. Thus, when a program is moved from one machine to another, the results of the basic operations will be the same in every bit if both machines support the IEEE standard. This greatly simplifies the porting of programs.
The design of almost every aspect of a computer system requires knowledge
about floating-point. Computer architecture has floating-point
instructions, compilers generate floating-point instructions, and the
operating system needs to decide what to do when exception conditions are raised
for those floating-point instructions. Computer system designers rarely get
guidance from numerical analysis texts, which are aimed at users and
writers of software, not at computer designers.
There is no denying the fact that mathematicians care about floating point arithmetic and computer scientists have been deprived or ignored of its influence although floating point arithmetic finds huge applications in
1. Design of Computer Architecture
2. Instruction Sets
3. Exception Handling
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.