A AND, 25 Arbitrary Precision Floating-Point Arithmetic, 270
Total Page:16
File Type:pdf, Size:1020Kb
Index A Boole, George, 25 AND, 25 Boolean algebra, 25 Arbitrary precision floating-point Bytes, 20 Arithmetic, 270 Comparing, 273 Definition, 265 C Representing, 265 Checksum, 29 Software libraries, 278 Compare instructions, 37 Trigonometric and transcendental Converting numbers functions, 274 Binary to binary-coded decimal, 70 Ariane 5 rocket explosion, 118 Binary to decimal, 13 Binary-coded decimal to binary, 72 Decimal to binary, 11 B Fixed-point to floating-point, 187 Big integers, 139 Floating-point to fixed-point, 187 Addition and subtraction, 146 Hexadecimal and binary, 10 Comba multiplication, 159 Octal and binary, 11 Comparing, 144 Others to decimal, 14 Divide-and-conquer, 165 Cryptography, 177 Division, 155 in Python, 170 Input and output, 142 D Karatsuba multiplication, 160 Decimal floating-point, 215 Knuth division, 164 Biased exponent continuation field, 216 Libraries, 167 Combination field, 216 Representation, 140 Continuation field, 216 Schönhage and Strassen multiplication, 161 Declet, 218 School method multiplication, 152 Densely packed decimal (DPD), 218 Bits, 19 in software (C), 225 Clearing, 32 in software (Python), 231 Masking, 30 Infinity, 220 Rotations, 35 Not-a-number (NaN), 220 Setting, 31 Rounding modes, 220 Shifting, 33 Storage formats, 216 Testing, 31 Storage order, 221 Toggling, 32 Diffie-Hellman key exchange, 178 © Springer International Publishing AG 2017 343 R.T. Kneusel, Numbers and Computers, DOI 10.1007/978-3-319-50508-4 344 Index Digital comparator, 37 Sine (polynomial), 198 Distribution of floating-point numbers, 82 Sine (table), 194 Double-base number system Sine (Taylor series), 196 Addition, 312 Square root (Newton’s method), 200 Definition, 307 Subtraction, 188 Discussion, 323 Trigonometric functions, 194 Graphical representation, 308 When to use, 211 Improving addition, 314 Floating-point Multiplication, 318 Addition/subtraction algorithm, 103 Python implementation, 309 Avoiding the pitfalls, 130 Real number multiplication and division, Binary coded decimal floating-point, 110 321 Comparison, 100 Real number unity approximations, 322 Floating-point number, 81 Representing integers, 308 IEEE 754 rounding modes (binary), 97 Representing real numbers, 319 IEEE addition and subtraction, 102 IEEE exceptions, 105 IEEE floating-point in hardware, 108 E IEEE infinity (binary), 91 Encryption, 28 IEEE multiplication, 103 Endianness IEEE NaN (binary), 92 Big-endian, 23 Mantissa, 82 Little-endian, 23 Multiplication algorithm, 105 Experiments Pitfalls, 117 Comparison of fixed-point trigonometric Real number, 81 functions, 199 Rules of thumb for floating-point numbers, Decimal floating-point logistic map, 226 130 Decimal floating-point to ASCII string, 221 Significand, 82 Floating-point uncertainty in comparing Subnormal numbers, 95 numbers, 125 Trapping exceptions, 106 Floating-point uncertainty in repeated Using a tool to improve floating-point subtractions, 122 calculations, 131 Floating-point uncertainty in summing an array of numbers, 123 Floating-point uncertainty in the Logistic H Map, 119 Herbie, 131 Illustrating uncertainty in floating-point calculations, 119 Using rational numbers, 176 I IBM S/360 floating-point, 85 IEEE 754 number formats, 89 F IEEE 754-2008, 81 Fixed-point numbers Integers Addition, 188 Binary addition, 41 Cosine (polynomial), 199 Binary subtraction, 43 Cosine (table), 196 Binary-code decimal subtraction, 69 Cosine (Taylor series), 197 Binary-coded decimal, 67 Division, 193 Binary-coded decimal addition, 69 DOOM (case study), 211 Densely Packed Decimal, 73 Exponential (Taylor series), 201 One’s complement numbers, 55 Machine learning, 204 Power of two test, 46 Multiplication, 189 Sign extension, 63 Natural logarithm (Newton’s method), 203 Sign-magnitude numbers, 54 Neural networks, 204 Signed addition, 58 Q notation, 183 Signed comparison, 56 Index 345 Signed division, 64 Egyptian numbers, 3 Signed multiplication, 60 Hexadecimal numbers, 9 Signed subtraction, 58 Mayan numbers, 7 Two’s complement numbers, 55 Octal numbers, 9 Unsigned, 21 Roman numerals, 3 Unsigned addition, 42 Unsigned division, 49 Unsigned multiplication, 47 O Unsigned square root, 52 OR, 26 Unsigned subtraction, 44 Zoned Decimal, 74 Interval arithmetic, 236 P Absolute value, 246 Parity, 29 Addition and subtraction, 239 Patriot missile failure, 118 Comparisons, 247 Place notation, 5 Dependency problem, 256 Propagation of errors, 236 in Python, 248 Monotonic functions, 253 MPFI library, 258 R Multiplication, 240 Radix point, 5 Negation, 245 Rational arithmetic, 171 Powers, 243 Addition, 174 Properties of intervals, 252 Division, 175 Reciprocal and division, 241 GCD, 172 Sine and cosine, 254 in Python, 171 Multiplication, 175 Subtraction, 174 L Receiver operating characteristics curve, 208 Least-squares curve fitting, 198 Redundant signed-digit number system, 332 Logarithmic number system, 293 Addition and subtraction, 336 Addition and subtraction, 302 Discussion, 339 Comparing numbers, 299 Redundant binary representation, 333 Discussion, 306 Residue number system, 324 Multiplication and division, 298 Addition and multiplication, 327 Representation, 294 Conversion from RNS, 330 Logical operators, 25 Conversion to RNS, 325 Discussion, 331 Representing, 324 M Subtraction, 329 Memory RSA encryption, 179 Addresses, 22 Bit order, 23 Byte order, 23 S Schleswig-Holstein parliament election, 119 Scikit Learn library, 206 N Shannon, Claude, 19 Nibbles, 19 Swift, Jonathan, 24 NOT, 26 Numbers Babylonian numbers, 5 T Binary numbers, 8 Torres y Quevedo, Leonardo, 84 Decimal numbers, 8 Truth table, 25 346 Index V X Vancouver stock exchange, 119 XOR, 26 W Z Words, 20 Zuse, Konrad, 85.