Title:
Computer arithmetic algorithms
Personal Author:
Edition:
2nd ed.
Publication Information:
Natick, MA : A K Peters, c2002
ISBN:
9781568811604
Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000004823146 | QA76.9.C62 K67 2001 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
This text explains the fundamental principles of algorithms available for performing arithmetic operations on digital computers. These include basic arithmetic operations like addition, subtraction, multiplication, and division in fixed-point and floating-point number systems as well as more complex operations such as square root extraction and evaluation of exponential, logarithmic, and trigonometric functions. The algorithms described are independent of the particular technology employed for their implementation.
Table of Contents
Forword to the Second Edition | p. xi |
Preface | p. xiii |
1 Conventional Number Systems | p. 1 |
1.1 The Binary Number System | p. 1 |
1.2 Machine Representations of Numbers | p. 2 |
1.3 Radix Conversions | p. 4 |
1.4 Representations of Negative Numbers | p. 6 |
1.5 Addition and Subtraction | p. 13 |
1.6 Arithmetic Shift Operations | p. 15 |
1.7 Exercises | p. 16 |
1.8 References | p. 17 |
2 Unconventional Fixed-Radix Number Systems | p. 19 |
2.1 Negative-Radix Number Systems | p. 19 |
2.2 A General Class of Fixed-Radix Number Systems | p. 21 |
2.3 Signed-Digit Number Systems | p. 23 |
2.4 Binary SD Numbers | p. 27 |
2.5 Exercises | p. 32 |
2.6 References | p. 33 |
3 Sequential Algorithms for Multiplication and Division | p. 35 |
3.1 Sequential Multiplication | p. 35 |
3.2 Sequential Division | p. 39 |
3.3 Nonrestoring Division | p. 42 |
3.4 Square Root Extraction | p. 48 |
3.5 Exercises | p. 50 |
3.6 References | p. 52 |
4 Binary Floating-Point Numbers | p. 53 |
4.1 Preliminaries | p. 53 |
4.2 Floating-Point Operations | p. 59 |
4.3 Choice of Floating-Point Representation | p. 65 |
4.4 The IEEE Floating-Point Standard | p. 67 |
4.5 Round-off Schemes | p. 71 |
4.6 Guard Digits | p. 76 |
4.7 Floating-Point Adders | p. 81 |
4.8 Exceptions | p. 84 |
4.9 Round-off Errors and Their Accumulation | p. 87 |
4.10 Exercises | p. 89 |
4.11 References | p. 91 |
5 Fast Addition | p. 93 |
5.1 Ripple-Carry Adders | p. 93 |
5.2 Carry-Look-Ahead Adders | p. 95 |
5.3 Conditional Sum Adders | p. 99 |
5.4 Optimality of Algorithms and Their Implementations | p. 102 |
5.5 Carry-Look-Ahead Addition Revisited | p. 106 |
5.6 Prefix Adders | p. 109 |
5.7 Ling Adders | p. 110 |
5.8 Carry-Select Adders | p. 113 |
5.9 Carry-Skip Adders | p. 116 |
5.10 Hybrid Adders | p. 119 |
5.11 Carry-Save Adders | p. 124 |
5.12 Pipelining of Arithmetic Operations | p. 132 |
5.13 Exercises | p. 135 |
5.14 References | p. 138 |
6 High-Speed Multiplication | p. 141 |
6.1 Reducing the Number of Partial Products | p. 141 |
6.2 Implementing Large Multipliers Using Smaller Ones | p. 149 |
6.3 Accumulating the Partial Products | p. 145 |
6.4 Alternative Techniques for Partial Product Accumulation | p. 157 |
6.5 Fused Multiply-Add Unit | p. 165 |
6.6 Array Multipliers | p. 167 |
6.7 Optimality of Multiplier Implementations | p. 174 |
6.8 Exercises | p. 176 |
6.9 References | p. 179 |
7 Fast Division | p. 181 |
7.1 SRT Division | p. 181 |
7.2 High-Radix Division | p. 187 |
7.3 Speeding Up the Division Process | p. 198 |
7.4 Array Dividers | p. 203 |
7.5 Fast Square Root Extraction | p. 206 |
7.6 Exercises | p. 209 |
7.7 References | p. 210 |
8 Division Through Multiplication | p. 213 |
8.1 Division by Convergence | p. 213 |
8.2 Division by Reciprocation | p. 218 |
8.3 Exercises | p. 222 |
8.4 References | p. 223 |
9 Evaluation of Elementary Functions | p. 225 |
9.1 The Exponential Function | p. 226 |
9.2 The Logarithm Function | p. 229 |
9.3 The Trigonometric Functions | p. 232 |
9.4 The Inverse Trigonometric Functions | p. 235 |
9.5 The Hyperbolic Functions | p. 238 |
9.6 Bounds on the Approximation Error | p. 239 |
9.7 Speed-up Techniques | p. 241 |
9.8 Other Techniques for Evaluating Elementary Functions | p. 243 |
9.9 Exercises | p. 244 |
9.10 References | p. 245 |
10 Logarithmic Number Systems | p. 247 |
10.1 Sign-Logarithm Number Systems | p. 247 |
10.2 Arithmetic Operations | p. 249 |
10.3 Comparison to Binary Floating-Point Numbers | p. 252 |
10.4 Conversions to/from Conventional Representations | p. 253 |
10.5 Exercises | p. 255 |
10.6 References | p. 256 |
11 The Residue Number System | p. 259 |
11.1 Preliminaries | p. 259 |
11.2 Arithmetic Operations | p. 261 |
11.3 The Associated Mixed-Radix System | p. 264 |
11.4 Conversion of Numbers from/to the Residue System | p. 266 |
11.5 Selecting the Moduli | p. 267 |
11.6 Error Detection and Correction | p. 269 |
11.7 Exercises | p. 274 |
11.8 References | p. 275 |
Index | p. 277 |