## With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

No credit card required

## Book Description

Fundamental arithmetic operations support virtually all of the engineering, scientific, and financial computations required for practical applications, from cryptography, to financial planning, to rocket science. This comprehensive reference provides researchers with the thorough understanding of number representations that is a necessary foundation for designing efficient arithmetic algorithms. Using the elementary foundations of radix number systems as a basis for arithmetic, the authors develop and compare alternative algorithms for the fundamental operations of addition, multiplication, division, and square root with precisely defined roundings. Various finite precision number systems are investigated, with the focus on comparative analysis of practically efficient algorithms for closed arithmetic operations over these systems. Each chapter begins with an introduction to its contents and ends with bibliographic notes and an extensive bibliography. The book may also be used for graduate teaching: problems and exercises are scattered throughout the text and a solutions manual is available for instructors.

1. Cover
2. Title
4. Content
5. Preface
1. 1.1 Introduction
4. 1.4 Digit symbols and digit strings
5. 1.5 Digit sets for radix representation
6. 1.6 Determining a radix representation
7. 1.7 Classifying base-digit set combinations
8. 1.8 Finite-precision and complement representations
9. 1.9 Radix-β approximation and roundings
10. 1.10 Other weighted systems
11. 1.11 Notes on the literature
7. 2. Base and digit set conversion
1. 2.1 Introduction
3. 2.3 Conversion into non-redundant digit sets
4. 2.4 Digit set conversion for redundant systems
5. 2.5 Implementing base and digit set conversions
7. 2.7 Notes on the literature
1. 3.1 Introduction
2. 3.2 How fast can we compute?
4. 3.4 Addition with redundant digit sets
8. 3.8 Addition and overflow in finite precision systems
9. 3.9 Subtraction and sign-magnitude addition
10. 3.10 Comparisons
11. 3.11 Notes on the literature
9. 4. Multiplication
1. 4.1 Introduction
2. 4.2 Classification of multipliers
3. 4.3 Recoding and partial product generation
4. 4.4 Sign-magnitude and radix-complement multiplication
5. 4.5 Linear-time multipliers
6. 4.6 Logarithmic-time multiplication
7. 4.7 Squaring
8. 4.8 Notes on the literature
10. 5. Division
1. 5.1 Introduction
2. 5.2 Survey of division and reciprocal algorithms
3. 5.3 Quotients and remainders
4. 5.4 Deterministic digit-serial division
5. 5.5 SRT division
7. 5.7 Multiplicative iterative refinement division
8. 5.8 Table look-up support for reciprocals
9. 5.9 Notes on the literature
11. 6. Square root
1. 6.1 Introduction
2. 6.2 Roots and remainders
3. 6.3 Digit-serial square root
4. 6.4 Multiplicative high-radix square root
5. 6.5 Iterative refinement square root
6. 6.6 Notes on the literature
12. 7. Floating-point number systems
1. 7.1 Introduction
2. 7.2 Floating-point factorization and normalization
3. 7.3 Floating-point roundings
4. 7.4 Rounded binary sum and product implementation
5. 7.5 Quotient and square root rounding
6. 7.6 The IEEE standard for floating-point systems
7. 7.7 Notes on the literature
13. 8. Modular arithmetic and residue number systems
1. 8.1 Introduction
2. 8.2 Single-modulus integer systems and arithmetic
3. 8.3 Multiple modulus (residue) number systems
4. 8.4 Mappings between residue and radix systems
5. 8.5 Base extensions and scaling
6. 8.6 Sign and overflow detection, division
7. 8.7 Single-modulus rational systems
8. 8.8 Multiple-modulus rational systems
9. 8.9 p-adic expansions and Hensel codes
10. 8.10 Notes on the literature
14. 9. Rational arithmetic
15. Author index
16. Index