Hacker's Delight

by Henry S. Warren, Jr. · 2nd Edition · 2012

A collection of bitwise tricks and optimizations for low-level programming. Covers bit manipulation, arithmetic bounds, integer division, Gray codes, CRC, error-correcting codes, and Hilbert curves.

752Extracted Problems
123Chapters
0Linked to DB
752Book Total
Bit ManipulationLow-LevelArithmeticPerformanceTextbook
752 shown
  • 1-1Express the for loop (e1; e2; e3) in terms of a while loop. Can it be expressed as a do loop?
    1-2Code a loop in C where an unsigned int i takes all values from 0 to 0xFFFFFFFF on a 32-bit machine.
    1-3The instructions of the basic and full RISCs can be executed with at most two register reads and one write. Show this.
    1-4Problem 1.4
    Medium
    1-5Problem 1.5
    Hard
    1-6Problem 1.6
    Easy
  • 2-1For the snoob function, let n be the length of bit strings, k the number of 1-bits. On average, how many times is the while-loop body executed?
    2-2The function x << (x & 1) is a left shift by a variable amount but is right-to-left computable. What is going on? Find another such function.
    2-3Derive Dietz's formula for the average of two unsigned integers.
    2-4Give an overflow-free method for computing the average of four unsigned integers, (a + b + c + d)/4.
    2-5Simplify the seven-instruction expression for x ≤ y to three basic RISC instructions if y31 = 0.
    2-6Show that if two numbers are added with end-around carry, the addition of the carry bit cannot generate another carry out of the high-order position.
    2-7Show how end-around carry can be used for addition in one's-complement. What is the max propagation length?
    2-8Show that (x & m) | (y & ~m) can be done in three instructions on the basic RISC.
    2-9Show how to implement x ⊕ y in four instructions with and-or-not logic.
    2-10Given a 32-bit word x and indices i, j, show code to copy the bit at position i to position j.
    2-11How many binary Boolean instructions suffice to evaluate any n-variable Boolean function decomposed recursively?
    2-12Show alternative decompositions of Boolean functions of three variables: (a) negative Davio, (b) z + h(x, y).
    2-13Show how all 16 binary Boolean operations can be done with eight instruction types from Table 2-3.
    2-14Can the ten non-constant binary Boolean functions be computed with fewer than eight opcodes?
    2-15Show that six instruction types suffice for R-I (register-immediate) Boolean operations.
    2-16Show that not all Boolean functions of three variables can be implemented with three binary logical instructions.
  • 3-1Round an unsigned integer to the nearest multiple of 8 with (a) rounding up, (b) down, (c) unbiased (make next bit zero).
    3-2Round an unsigned integer to the nearest multiple of 10, with (a) rounding up, (b) down, (c) to even multiple of 10.
    3-3Code an unaligned load in C: load 4 bytes from address a, branch-free, at most 2 loads, no read past aligned block.
    3-4Problem 3.4
    Medium
    3-5Problem 3.5
    Hard
    3-6Problem 3.6
    Easy
  • 4-1For unsigned integers, what are the bounds on x − y if ...?
    4-2Simplify the maxOR function (Figure 4-4) when a = 0 or c = 0, on a machine with nlz instruction.
    4-3Problem 4.3
    Medium
    4-4Problem 4.4
    Medium
    4-5Problem 4.5
    Hard
    4-6Problem 4.6
    Easy
  • 5-1Code Dubé's algorithm for the ntz function, expanding the multiplication.
    5-2Code the "right justify" function (x ≠ 0) in three basic RISC instructions.
    5-3Are the parallel prefix and suffix (XOR) operations invertible? If so, how to compute the inverse?
    5-4Problem 5.4
    Medium
    5-5Problem 5.5
    Hard
    5-6Problem 5.6
    Easy
  • 6-1Code an elaboration of Hsieh's algorithm for the longest string of 1's in a word x (use nlz).
    6-2Code a function for the shortest string of 1's that is at least as long as a given n.
    6-3Use the turning-off-rightmost-1s method to find the shortest string of 1's and its position.
    6-4For random 32-bit words, what is the average number of strings of 1's in x?
    6-5Again for random 32-bit words, what is the average length of the shortest contiguous string of 1's?
    6-6Of the 2ⁿ binary words of length n, how many have shortest contained string of 1's of length 1?
    6-7Similarly, how many n-bit words have shortest contained string of 1's of length 2?
  • 7-1Explain the workings of the second Möbius formula (Equation 1, page 139).
    7-2Find a formula for the general mask mk used in the perfect outer shuffle operation.
    7-3Code a function similar to the compress function that does the expand operation.
    7-4For an n-way set-associative cache, what is the theoretical min number of bits for LRU?
    7-5Problem 7.5
    Hard
    7-6Problem 7.6
    Easy
  • 8-1Show that the low-order 32 bits of a 32×32→64 multiplication are the same for signed and unsigned operands.
    8-2Modify the mulhs function to also calculate the low-order half of the 64-bit product.
    8-3Complex multiplication (a+bi)(c+di) = ac−bd + (ad+bc)i can be done with only three multiplications. Show how.
    8-4Problem 8.4
    Medium
    8-5Problem 8.5
    Hard
    8-6Problem 8.6
    Easy
  • 9-1Show that for real x, ⌈x⌉ = −⌊−x⌋.
    9-2Find branch-free code for computing quotient and remainder of modulus division (truncating div available).
    9-3Find branch-free code for computing quotient and remainder of floor division (truncating div available).
    9-4How would you compute ⌊n / d⌋ for unsigned integers on a machine with unsigned divide?
    9-5Prove: if f is continuous, monotonic, and integer-valued only at integer arguments, then ⌊f(⌊x⌋)⌋ = ⌊f(x)⌋.
    9-6Problem 9.6
    Easy
  • 10-1Show how to avoid shrxi for unsigned division by an even number using two methods.
    10-2Code a Python function similar to Figure 10-4 for computing the magic number for signed division.
    10-3Use Newton's method to calculate the multiplicative inverse of d modulo 2⁸¹. Show for d = 146.
    10-4Problem 10.4
    Medium
    10-5Problem 10.5
    Hard
    10-6Problem 10.6
    Easy
  • 11-1Is the integer fourth root of x equal to the integer square root of the integer square root of x?
    11-2Code the 64-bit version of the cube root routine. Use the "long long" C data type.
    11-3How many multiplications to compute x²³ modulo 2^W (W = word size)?
    11-4Describe in simple terms the functions (a) 2^⌊ilog2(x)⌋ and (b) 2^⌈ilog2(x−1)⌉ + 1.
    11-5Problem 11.5
    Hard
    11-6Problem 11.6
    Easy
  • 12-1Schroeppel's formula for base −2 to binary has a dual involving 0x5555555. Can you find it?
    12-2Show how to add 1 to a base −2 number using arithmetic and logical operations.
    12-3Show how to round a base −2 number down to a multiple of 16.
    12-4Write a program to convert a base −1+i integer to the form a + bi.
    12-5How to convert a number in base −1+i to its negative? Extract real/imaginary parts? Conjugate?
    12-6Problem 12.6
    Easy
  • 13-1Show that if x is even, G(x) has an even number of 1-bits; if x is odd, G(x) has an odd number of 1-bits.
    13-2(a) Show that an STGC is necessarily balanced. (b) Find a balanced Gray code for n = 3.
    13-3Devise a cyclic Gray code that encodes the integers 0 to 9.
    13-4Given a number in prime decomposed form, list its divisors so each is derived from the previous by ×/÷ a prime.
    13-5Problem 13.5
    Hard
    13-6Problem 13.6
    Easy
  • 14-1Show that if a generator G has ≥2 terms, all single-bit errors are detected.
    14-2Code the main CRC loop so message data is loaded one word at a time (assume aligned, full words).
    14-3Problem 14.3
    Medium
    14-4Problem 14.4
    Medium
    14-5Problem 14.5
    Hard
    14-6Problem 14.6
    Easy
  • 15-1Show a Hamming code for m = 3 (make a table similar to Table 15-1).
    15-2For SEC without correcting check bits, the rule is 2^k ≥ m + 1. What is wrong with this reasoning?
    15-3Given m, find the least k satisfying the Hamming inequality (brain teaser).
    15-4Show that the Hamming distance function satisfies the triangle inequality.
    15-5Prove: A(2n, 2d) ≥ A(n, d).
    15-6Prove the Singleton bound: A(n, d) ≤ 2^(n−d+1).
    15-7Show that the notion of a perfect code generalizes the Hamming rule.
    15-8What is A(n, d) if n = d? Show that for odd n these codes are perfect.
    15-9Show that if n is a multiple of 3 and d = 2n/3, then A(n, d) = 4.
    15-10Show that if d > 2n/3, then A(n, d) = 2.
    15-11A 2D parity check for 64 bits arranges them in an 8×8 array. Comment on SEC-DED capability.
  • 16-1Investigate the locality of the interleaved-bits curve (perfect outer unshuffle). Sketch for n = 3.
    16-2Apply Gray(s) before the interleaved-bits transformation. Sketch for n = 3. Is locality improved?
    16-3How would you construct a three-dimensional analog of the interleaved-bits curve?
    16-4Problem 16.4
    Medium
    16-5Problem 16.5
    Hard
    16-6Problem 16.6
    Easy
  • 17-1What numbers have the same representation (apart from trailing 0's) in both single- and double-precision?
    17-2Is there a program similar to the reciprocal sqrt routine for computing the approximate square root?
    17-3Is there a similar program for the approximate cube root of a nonnegative normal number?
    17-4Is there a similar program for the reciprocal sqrt of a double-precision float on a 64-bit machine?
    17-5Problem 17.5
    Hard
    17-6Problem 17.6
    Easy
  • 18-1Prove that for any non-constant integer polynomial f(x), |f(x)| is composite for infinitely many x.
    18-2Prove Wilson's theorem: p > 1 is prime iff (p−1)! ≡ −1 (mod p).
    18-3Show that if n > 4 is composite, then (n−1)! ≡ 0 (mod n).
    18-4Estimate Mills' constant θ and give an informal proof of Mills' theorem.
    18-5Show that 2 and 3 are prime in {a + b√−5}. Find a number with two distinct prime factorizations.
    18-6Problem 18.6
    Easy
  • 19-1Problem 19.1
    Easy
    19-2Problem 19.2
    Easy
    19-3Problem 19.3
    Medium
    19-4Problem 19.4
    Medium
    19-5Problem 19.5
    Hard
    19-6Problem 19.6
    Easy
  • 20-1Problem 20.1
    Easy
    20-2Problem 20.2
    Easy
    20-3Problem 20.3
    Medium
    20-4Problem 20.4
    Medium
    20-5Problem 20.5
    Hard
    20-6Exercise 20.6
    Easy
  • 21-1Problem 21.1
    Easy
    21-2Problem 21.2
    Easy
    21-3Problem 21.3
    Medium
    21-4Problem 21.4
    Medium
    21-5Problem 21.5
    Hard
    21-6Exercise 21.6
    Easy
  • 22-1Arithmetic Problem 1
    Easy
    22-2Arithmetic Problem 2
    Easy
    22-3Arithmetic Problem 3
    Medium
    22-4Arithmetic Problem 4
    Medium
    22-5Arithmetic Problem 5
    Hard
    22-6Arithmetic Problem 6
    Easy
  • 23-1Division Problem 1
    Easy
    23-2Division Problem 2
    Easy
    23-3Division Problem 3
    Medium
    23-4Division Problem 4
    Medium
    23-5Division Problem 5
    Hard
    23-6Exercise 23.6
    Easy
  • 24-1Double Precision Problem 1
    Easy
    24-2Double Precision Problem 2
    Easy
    24-3Double Precision Problem 3
    Medium
    24-4Double Precision Problem 4
    Medium
    24-5Double Precision Problem 5
    Hard
    24-6Exercise 24.6
    Easy
  • 25-1Arithmetic Problem 1
    Easy
    25-2Arithmetic Problem 2
    Easy
    25-3Arithmetic Problem 3
    Medium
    25-4Arithmetic Problem 4
    Medium
    25-5Arithmetic Problem 5
    Hard
    25-6Arithmetic Problem 6
    Easy
  • 26-1Division Problem 1
    Easy
    26-2Division Problem 2
    Easy
    26-3Division Problem 3
    Medium
    26-4Division Problem 4
    Medium
    26-5Division Problem 5
    Hard
    26-6Exercise 26.6
    Easy
  • 27-1Double Precision Problem 1
    Easy
    27-2Double Precision Problem 2
    Easy
    27-3Double Precision Problem 3
    Medium
    27-4Double Precision Problem 4
    Medium
    27-5Double Precision Problem 5
    Hard
    27-6Exercise 27.6
    Easy
  • 28-1Arithmetic Problem 1
    Easy
    28-2Arithmetic Problem 2
    Easy
    28-3Arithmetic Problem 3
    Medium
    28-4Arithmetic Problem 4
    Medium
    28-5Arithmetic Problem 5
    Hard
    28-6Arithmetic Problem 6
    Easy
  • 29-1Division Problem 1
    Easy
    29-2Division Problem 2
    Easy
    29-3Division Problem 3
    Medium
    29-4Division Problem 4
    Medium
    29-5Division Problem 5
    Hard
    29-6Exercise 29.6
    Easy
  • 30-1Double Precision Problem 1
    Easy
    30-2Double Precision Problem 2
    Easy
    30-3Double Precision Problem 3
    Medium
    30-4Double Precision Problem 4
    Medium
    30-5Double Precision Problem 5
    Hard
    30-6Exercise 30.6
    Easy
  • 31-1Arithmetic Problem 1
    Easy
    31-2Arithmetic Problem 2
    Easy
    31-3Arithmetic Problem 3
    Medium
    31-4Arithmetic Problem 4
    Medium
    31-5Arithmetic Problem 5
    Hard
    31-6Arithmetic Problem 6
    Easy
  • 32-1Division Problem 1
    Easy
    32-2Division Problem 2
    Easy
    32-3Division Problem 3
    Medium
    32-4Division Problem 4
    Medium
    32-5Division Problem 5
    Hard
    32-6Exercise 32.6
    Easy
  • 33-1Double Precision Problem 1
    Easy
    33-2Double Precision Problem 2
    Easy
    33-3Double Precision Problem 3
    Medium
    33-4Double Precision Problem 4
    Medium
    33-5Double Precision Problem 5
    Hard
    33-6Exercise 33.6
    Easy
  • 34-1Arithmetic Problem 1
    Easy
    34-2Arithmetic Problem 2
    Easy
    34-3Arithmetic Problem 3
    Medium
    34-4Arithmetic Problem 4
    Medium
    34-5Arithmetic Problem 5
    Hard
    34-6Arithmetic Problem 6
    Easy
  • 35-1Division Problem 1
    Easy
    35-2Division Problem 2
    Easy
    35-3Division Problem 3
    Medium
    35-4Division Problem 4
    Medium
    35-5Division Problem 5
    Hard
    35-6Exercise 35.6
    Easy
  • 36-1Double Precision Problem 1
    Easy
    36-2Double Precision Problem 2
    Easy
    36-3Double Precision Problem 3
    Medium
    36-4Double Precision Problem 4
    Medium
    36-5Double Precision Problem 5
    Hard
    36-6Exercise 36.6
    Easy
  • 37-1Arithmetic Problem 1
    Easy
    37-2Arithmetic Problem 2
    Easy
    37-3Arithmetic Problem 3
    Medium
    37-4Arithmetic Problem 4
    Medium
    37-5Arithmetic Problem 5
    Hard
    37-6Arithmetic Problem 6
    Easy
  • 38-1Division Problem 1
    Easy
    38-2Division Problem 2
    Easy
    38-3Division Problem 3
    Medium
    38-4Division Problem 4
    Medium
    38-5Division Problem 5
    Hard
    38-6Exercise 38.6
    Easy
  • 39-1Double Precision Problem 1
    Easy
    39-2Double Precision Problem 2
    Easy
    39-3Double Precision Problem 3
    Medium
    39-4Double Precision Problem 4
    Medium
    39-5Double Precision Problem 5
    Hard
    39-6Exercise 39.6
    Easy
  • 40-1Arithmetic Problem 1
    Easy
    40-2Arithmetic Problem 2
    Easy
    40-3Arithmetic Problem 3
    Medium
    40-4Arithmetic Problem 4
    Medium
    40-5Arithmetic Problem 5
    Hard
    40-6Arithmetic Problem 6
    Easy
  • 41-1Division Problem 1
    Easy
    41-2Division Problem 2
    Easy
    41-3Division Problem 3
    Medium
    41-4Division Problem 4
    Medium
    41-5Division Problem 5
    Hard
    41-6Exercise 41.6
    Easy
  • 42-1Double Precision Problem 1
    Easy
    42-2Double Precision Problem 2
    Easy
    42-3Double Precision Problem 3
    Medium
    42-4Double Precision Problem 4
    Medium
    42-5Double Precision Problem 5
    Hard
    42-6Exercise 42.6
    Easy
  • 43-1Arithmetic Problem 1
    Easy
    43-2Arithmetic Problem 2
    Easy
    43-3Arithmetic Problem 3
    Medium
    43-4Arithmetic Problem 4
    Medium
    43-5Arithmetic Problem 5
    Hard
    43-6Arithmetic Problem 6
    Easy
  • 44-1Division Problem 1
    Easy
    44-2Division Problem 2
    Easy
    44-3Division Problem 3
    Medium
    44-4Division Problem 4
    Medium
    44-5Division Problem 5
    Hard
    44-6Exercise 44.6
    Easy
  • 45-1Double Precision Problem 1
    Easy
    45-2Double Precision Problem 2
    Easy
    45-3Double Precision Problem 3
    Medium
    45-4Double Precision Problem 4
    Medium
    45-5Double Precision Problem 5
    Hard
    45-6Exercise 45.6
    Easy
  • 46-1Arithmetic Problem 1
    Easy
    46-2Arithmetic Problem 2
    Easy
    46-3Arithmetic Problem 3
    Medium
    46-4Arithmetic Problem 4
    Medium
    46-5Arithmetic Problem 5
    Hard
    46-6Arithmetic Problem 6
    Easy
  • 47-1Division Problem 1
    Easy
    47-2Division Problem 2
    Easy
    47-3Division Problem 3
    Medium
    47-4Division Problem 4
    Medium
    47-5Division Problem 5
    Hard
    47-6Exercise 47.6
    Easy
  • 48-1Double Precision Problem 1
    Easy
    48-2Double Precision Problem 2
    Easy
    48-3Double Precision Problem 3
    Medium
    48-4Double Precision Problem 4
    Medium
    48-5Double Precision Problem 5
    Hard
    48-6Exercise 48.6
    Easy
  • 49-1Arithmetic Problem 1
    Easy
    49-2Arithmetic Problem 2
    Easy
    49-3Arithmetic Problem 3
    Medium
    49-4Arithmetic Problem 4
    Medium
    49-5Arithmetic Problem 5
    Hard
    49-6Arithmetic Problem 6
    Easy
  • 50-1Division Problem 1
    Easy
    50-2Division Problem 2
    Easy
    50-3Division Problem 3
    Medium
    50-4Division Problem 4
    Medium
    50-5Division Problem 5
    Hard
    50-6Exercise 50.6
    Easy
  • 51-1Double Precision Problem 1
    Easy
    51-2Double Precision Problem 2
    Easy
    51-3Double Precision Problem 3
    Medium
    51-4Double Precision Problem 4
    Medium
    51-5Double Precision Problem 5
    Hard
    51-6Exercise 51.6
    Easy
  • 52-1Arithmetic Problem 1
    Easy
    52-2Arithmetic Problem 2
    Easy
    52-3Arithmetic Problem 3
    Medium
    52-4Arithmetic Problem 4
    Medium
    52-5Arithmetic Problem 5
    Hard
    52-6Arithmetic Problem 6
    Easy
  • 53-1Division Problem 1
    Easy
    53-2Division Problem 2
    Easy
    53-3Division Problem 3
    Medium
    53-4Division Problem 4
    Medium
    53-5Division Problem 5
    Hard
    53-6Exercise 53.6
    Easy
  • 54-1Double Precision Problem 1
    Easy
    54-2Double Precision Problem 2
    Easy
    54-3Double Precision Problem 3
    Medium
    54-4Double Precision Problem 4
    Medium
    54-5Double Precision Problem 5
    Hard
    54-6Exercise 54.6
    Easy
  • 55-1Arithmetic Problem 1
    Easy
    55-2Arithmetic Problem 2
    Easy
    55-3Arithmetic Problem 3
    Medium
    55-4Arithmetic Problem 4
    Medium
    55-5Arithmetic Problem 5
    Hard
    55-6Arithmetic Problem 6
    Easy
  • 56-1Division Problem 1
    Easy
    56-2Division Problem 2
    Easy
    56-3Division Problem 3
    Medium
    56-4Division Problem 4
    Medium
    56-5Division Problem 5
    Hard
    56-6Exercise 56.6
    Easy
  • 57-1Double Precision Problem 1
    Easy
    57-2Double Precision Problem 2
    Easy
    57-3Double Precision Problem 3
    Medium
    57-4Double Precision Problem 4
    Medium
    57-5Double Precision Problem 5
    Hard
    57-6Exercise 57.6
    Easy
  • 58-1Arithmetic Problem 1
    Easy
    58-2Arithmetic Problem 2
    Easy
    58-3Arithmetic Problem 3
    Medium
    58-4Arithmetic Problem 4
    Medium
    58-5Arithmetic Problem 5
    Hard
    58-6Arithmetic Problem 6
    Easy
  • 59-1Division Problem 1
    Easy
    59-2Division Problem 2
    Easy
    59-3Division Problem 3
    Medium
    59-4Division Problem 4
    Medium
    59-5Division Problem 5
    Hard
    59-6Exercise 59.6
    Easy
  • 60-1Double Precision Problem 1
    Easy
    60-2Double Precision Problem 2
    Easy
    60-3Double Precision Problem 3
    Medium
    60-4Double Precision Problem 4
    Medium
    60-5Double Precision Problem 5
    Hard
    60-6Exercise 60.6
    Easy
  • 61-1Arithmetic Problem 1
    Easy
    61-2Arithmetic Problem 2
    Easy
    61-3Arithmetic Problem 3
    Medium
    61-4Arithmetic Problem 4
    Medium
    61-5Arithmetic Problem 5
    Hard
    61-6Arithmetic Problem 6
    Easy
  • 62-1Division Problem 1
    Easy
    62-2Division Problem 2
    Easy
    62-3Division Problem 3
    Medium
    62-4Division Problem 4
    Medium
    62-5Division Problem 5
    Hard
    62-6Exercise 62.6
    Easy
  • 63-1Double Precision Problem 1
    Easy
    63-2Double Precision Problem 2
    Easy
    63-3Double Precision Problem 3
    Medium
    63-4Double Precision Problem 4
    Medium
    63-5Double Precision Problem 5
    Hard
    63-6Exercise 63.6
    Easy
  • 64-1Arithmetic Problem 1
    Easy
    64-2Arithmetic Problem 2
    Easy
    64-3Arithmetic Problem 3
    Medium
    64-4Arithmetic Problem 4
    Medium
    64-5Arithmetic Problem 5
    Hard
    64-6Arithmetic Problem 6
    Easy
  • 65-1Division Problem 1
    Easy
    65-2Division Problem 2
    Easy
    65-3Division Problem 3
    Medium
    65-4Division Problem 4
    Medium
    65-5Division Problem 5
    Hard
    65-6Exercise 65.6
    Easy
  • 66-1Double Precision Problem 1
    Easy
    66-2Double Precision Problem 2
    Easy
    66-3Double Precision Problem 3
    Medium
    66-4Double Precision Problem 4
    Medium
    66-5Double Precision Problem 5
    Hard
    66-6Exercise 66.6
    Easy
  • 67-1Arithmetic Problem 1
    Easy
    67-2Arithmetic Problem 2
    Easy
    67-3Arithmetic Problem 3
    Medium
    67-4Arithmetic Problem 4
    Medium
    67-5Arithmetic Problem 5
    Hard
    67-6Arithmetic Problem 6
    Easy
  • 68-1Division Problem 1
    Easy
    68-2Division Problem 2
    Easy
    68-3Division Problem 3
    Medium
    68-4Division Problem 4
    Medium
    68-5Division Problem 5
    Hard
    68-6Exercise 68.6
    Easy
  • 69-1Double Precision Problem 1
    Easy
    69-2Double Precision Problem 2
    Easy
    69-3Double Precision Problem 3
    Medium
    69-4Double Precision Problem 4
    Medium
    69-5Double Precision Problem 5
    Hard
    69-6Exercise 69.6
    Easy
  • 70-1Arithmetic Problem 1
    Easy
    70-2Arithmetic Problem 2
    Easy
    70-3Arithmetic Problem 3
    Medium
    70-4Arithmetic Problem 4
    Medium
    70-5Arithmetic Problem 5
    Hard
    70-6Arithmetic Problem 6
    Easy
  • 71-1Division Problem 1
    Easy
    71-2Division Problem 2
    Easy
    71-3Division Problem 3
    Medium
    71-4Division Problem 4
    Medium
    71-5Division Problem 5
    Hard
    71-6Exercise 71.6
    Easy
  • 72-1Double Precision Problem 1
    Easy
    72-2Double Precision Problem 2
    Easy
    72-3Double Precision Problem 3
    Medium
    72-4Double Precision Problem 4
    Medium
    72-5Double Precision Problem 5
    Hard
    72-6Exercise 72.6
    Easy
  • 73-1Arithmetic Problem 1
    Easy
    73-2Arithmetic Problem 2
    Easy
    73-3Arithmetic Problem 3
    Medium
    73-4Arithmetic Problem 4
    Medium
    73-5Arithmetic Problem 5
    Hard
    73-6Arithmetic Problem 6
    Easy
  • 74-1Division Problem 1
    Easy
    74-2Division Problem 2
    Easy
    74-3Division Problem 3
    Medium
    74-4Division Problem 4
    Medium
    74-5Division Problem 5
    Hard
    74-6Exercise 74.6
    Easy
  • 75-1Double Precision Problem 1
    Easy
    75-2Double Precision Problem 2
    Easy
    75-3Double Precision Problem 3
    Medium
    75-4Double Precision Problem 4
    Medium
    75-5Double Precision Problem 5
    Hard
    75-6Exercise 75.6
    Easy
  • 76-1Arithmetic Problem 1
    Easy
    76-2Arithmetic Problem 2
    Easy
    76-3Arithmetic Problem 3
    Medium
    76-4Arithmetic Problem 4
    Medium
    76-5Arithmetic Problem 5
    Hard
    76-6Arithmetic Problem 6
    Easy
  • 77-1Division Problem 1
    Easy
    77-2Division Problem 2
    Easy
    77-3Division Problem 3
    Medium
    77-4Division Problem 4
    Medium
    77-5Division Problem 5
    Hard
    77-6Exercise 77.6
    Easy
  • 78-1Double Precision Problem 1
    Easy
    78-2Double Precision Problem 2
    Easy
    78-3Double Precision Problem 3
    Medium
    78-4Double Precision Problem 4
    Medium
    78-5Double Precision Problem 5
    Hard
    78-6Exercise 78.6
    Easy
  • 79-1Arithmetic Problem 1
    Easy
    79-2Arithmetic Problem 2
    Easy
    79-3Arithmetic Problem 3
    Medium
    79-4Arithmetic Problem 4
    Medium
    79-5Arithmetic Problem 5
    Hard
    79-6Arithmetic Problem 6
    Easy
  • 80-1Division Problem 1
    Easy
    80-2Division Problem 2
    Easy
    80-3Division Problem 3
    Medium
    80-4Division Problem 4
    Medium
    80-5Division Problem 5
    Hard
    80-6Exercise 80.6
    Easy
  • 81-1Double Precision Problem 1
    Easy
    81-2Double Precision Problem 2
    Easy
    81-3Double Precision Problem 3
    Medium
    81-4Double Precision Problem 4
    Medium
    81-5Double Precision Problem 5
    Hard
    81-6Exercise 81.6
    Easy
  • 82-1Arithmetic Problem 1
    Easy
    82-2Arithmetic Problem 2
    Easy
    82-3Arithmetic Problem 3
    Medium
    82-4Arithmetic Problem 4
    Medium
    82-5Arithmetic Problem 5
    Hard
    82-6Arithmetic Problem 6
    Easy
  • 83-1Division Problem 1
    Easy
    83-2Division Problem 2
    Easy
    83-3Division Problem 3
    Medium
    83-4Division Problem 4
    Medium
    83-5Division Problem 5
    Hard
    83-6Exercise 83.6
    Easy
  • 84-1Double Precision Problem 1
    Easy
    84-2Double Precision Problem 2
    Easy
    84-3Double Precision Problem 3
    Medium
    84-4Double Precision Problem 4
    Medium
    84-5Double Precision Problem 5
    Hard
    84-6Exercise 84.6
    Easy
  • 85-1Arithmetic Problem 1
    Easy
    85-2Arithmetic Problem 2
    Easy
    85-3Arithmetic Problem 3
    Medium
    85-4Arithmetic Problem 4
    Medium
    85-5Arithmetic Problem 5
    Hard
    85-6Arithmetic Problem 6
    Easy
  • 86-1Division Problem 1
    Easy
    86-2Division Problem 2
    Easy
    86-3Division Problem 3
    Medium
    86-4Division Problem 4
    Medium
    86-5Division Problem 5
    Hard
    86-6Exercise 86.6
    Easy
  • 87-1Double Precision Problem 1
    Easy
    87-2Double Precision Problem 2
    Easy
    87-3Double Precision Problem 3
    Medium
    87-4Double Precision Problem 4
    Medium
    87-5Double Precision Problem 5
    Hard
    87-6Exercise 87.6
    Easy
  • 88-1Arithmetic Problem 1
    Easy
    88-2Arithmetic Problem 2
    Easy
    88-3Arithmetic Problem 3
    Medium
    88-4Arithmetic Problem 4
    Medium
    88-5Arithmetic Problem 5
    Hard
    88-6Arithmetic Problem 6
    Easy
  • 89-1Division Problem 1
    Easy
    89-2Division Problem 2
    Easy
    89-3Division Problem 3
    Medium
    89-4Division Problem 4
    Medium
    89-5Division Problem 5
    Hard
    89-6Exercise 89.6
    Easy
  • 90-1Double Precision Problem 1
    Easy
    90-2Double Precision Problem 2
    Easy
    90-3Double Precision Problem 3
    Medium
    90-4Double Precision Problem 4
    Medium
    90-5Double Precision Problem 5
    Hard
    90-6Exercise 90.6
    Easy
  • 91-1Arithmetic Problem 1
    Easy
    91-2Arithmetic Problem 2
    Easy
    91-3Arithmetic Problem 3
    Medium
    91-4Arithmetic Problem 4
    Medium
    91-5Arithmetic Problem 5
    Hard
    91-6Arithmetic Problem 6
    Easy
  • 92-1Division Problem 1
    Easy
    92-2Division Problem 2
    Easy
    92-3Division Problem 3
    Medium
    92-4Division Problem 4
    Medium
    92-5Division Problem 5
    Hard
    92-6Exercise 92.6
    Easy
  • 93-1Double Precision Problem 1
    Easy
    93-2Double Precision Problem 2
    Easy
    93-3Double Precision Problem 3
    Medium
    93-4Double Precision Problem 4
    Medium
    93-5Double Precision Problem 5
    Hard
    93-6Exercise 93.6
    Easy
  • 94-1Arithmetic Problem 1
    Easy
    94-2Arithmetic Problem 2
    Easy
    94-3Arithmetic Problem 3
    Medium
    94-4Arithmetic Problem 4
    Medium
    94-5Arithmetic Problem 5
    Hard
    94-6Arithmetic Problem 6
    Easy
  • 95-1Division Problem 1
    Easy
    95-2Division Problem 2
    Easy
    95-3Division Problem 3
    Medium
    95-4Division Problem 4
    Medium
    95-5Division Problem 5
    Hard
    95-6Exercise 95.6
    Easy
  • 96-1Double Precision Problem 1
    Easy
    96-2Double Precision Problem 2
    Easy
    96-3Double Precision Problem 3
    Medium
    96-4Double Precision Problem 4
    Medium
    96-5Double Precision Problem 5
    Hard
    96-6Exercise 96.6
    Easy
  • 97-1Arithmetic Problem 1
    Easy
    97-2Arithmetic Problem 2
    Easy
    97-3Arithmetic Problem 3
    Medium
    97-4Arithmetic Problem 4
    Medium
    97-5Arithmetic Problem 5
    Hard
    97-6Arithmetic Problem 6
    Easy
  • 98-1Division Problem 1
    Easy
    98-2Division Problem 2
    Easy
    98-3Division Problem 3
    Medium
    98-4Division Problem 4
    Medium
    98-5Division Problem 5
    Hard
    98-6Exercise 98.6
    Easy
  • 99-1Double Precision Problem 1
    Easy
    99-2Double Precision Problem 2
    Easy
    99-3Double Precision Problem 3
    Medium
    99-4Double Precision Problem 4
    Medium
    99-5Double Precision Problem 5
    Hard
    99-6Exercise 99.6
    Easy
  • 100-1Arithmetic Problem 1
    Easy
    100-2Arithmetic Problem 2
    Easy
    100-3Arithmetic Problem 3
    Medium
    100-4Arithmetic Problem 4
    Medium
    100-5Arithmetic Problem 5
    Hard
    100-6Arithmetic Problem 6
    Easy
  • 101-1Division Problem 1
    Easy
    101-2Division Problem 2
    Easy
    101-3Division Problem 3
    Medium
    101-4Division Problem 4
    Medium
    101-5Division Problem 5
    Hard
    101-6Exercise 101.6
    Easy
  • 102-1Double Precision Problem 1
    Easy
    102-2Double Precision Problem 2
    Easy
    102-3Double Precision Problem 3
    Medium
    102-4Double Precision Problem 4
    Medium
    102-5Double Precision Problem 5
    Hard
    102-6Exercise 102.6
    Easy
  • 103-1Arithmetic Problem 1
    Easy
    103-2Arithmetic Problem 2
    Easy
    103-3Arithmetic Problem 3
    Medium
    103-4Arithmetic Problem 4
    Medium
    103-5Arithmetic Problem 5
    Hard
    103-6Arithmetic Problem 6
    Easy
  • 104-1Division Problem 1
    Easy
    104-2Division Problem 2
    Easy
    104-3Division Problem 3
    Medium
    104-4Division Problem 4
    Medium
    104-5Division Problem 5
    Hard
    104-6Exercise 104.6
    Easy
  • 105-1Double Precision Problem 1
    Easy
    105-2Double Precision Problem 2
    Easy
    105-3Double Precision Problem 3
    Medium
    105-4Double Precision Problem 4
    Medium
    105-5Double Precision Problem 5
    Hard
    105-6Exercise 105.6
    Easy
  • 106-1Arithmetic Problem 1
    Easy
    106-2Arithmetic Problem 2
    Easy
    106-3Arithmetic Problem 3
    Medium
    106-4Arithmetic Problem 4
    Medium
    106-5Arithmetic Problem 5
    Hard
    106-6Arithmetic Problem 6
    Easy
  • 107-1Division Problem 1
    Easy
    107-2Division Problem 2
    Easy
    107-3Division Problem 3
    Medium
    107-4Division Problem 4
    Medium
    107-5Division Problem 5
    Hard
    107-6Exercise 107.6
    Easy
  • 108-1Double Precision Problem 1
    Easy
    108-2Double Precision Problem 2
    Easy
    108-3Double Precision Problem 3
    Medium
    108-4Double Precision Problem 4
    Medium
    108-5Double Precision Problem 5
    Hard
    108-6Exercise 108.6
    Easy
  • 109-1Arithmetic Problem 1
    Easy
    109-2Arithmetic Problem 2
    Easy
    109-3Arithmetic Problem 3
    Medium
    109-4Arithmetic Problem 4
    Medium
    109-5Arithmetic Problem 5
    Hard
    109-6Arithmetic Problem 6
    Easy
  • 110-1Division Problem 1
    Easy
    110-2Division Problem 2
    Easy
    110-3Division Problem 3
    Medium
    110-4Division Problem 4
    Medium
    110-5Division Problem 5
    Hard
    110-6Exercise 110.6
    Easy
  • 111-1Double Precision Problem 1
    Easy
    111-2Double Precision Problem 2
    Easy
    111-3Double Precision Problem 3
    Medium
    111-4Double Precision Problem 4
    Medium
    111-5Double Precision Problem 5
    Hard
    111-6Exercise 111.6
    Easy
  • 112-1Arithmetic Problem 1
    Easy
    112-2Arithmetic Problem 2
    Easy
    112-3Arithmetic Problem 3
    Medium
    112-4Arithmetic Problem 4
    Medium
    112-5Arithmetic Problem 5
    Hard
    112-6Arithmetic Problem 6
    Easy
  • 113-1Division Problem 1
    Easy
    113-2Division Problem 2
    Easy
    113-3Division Problem 3
    Medium
    113-4Division Problem 4
    Medium
    113-5Division Problem 5
    Hard
    113-6Exercise 113.6
    Easy
  • 114-1Double Precision Problem 1
    Easy
    114-2Double Precision Problem 2
    Easy
    114-3Double Precision Problem 3
    Medium
    114-4Double Precision Problem 4
    Medium
    114-5Double Precision Problem 5
    Hard
    114-6Exercise 114.6
    Easy
  • 115-1Arithmetic Problem 1
    Easy
    115-2Arithmetic Problem 2
    Easy
    115-3Arithmetic Problem 3
    Medium
    115-4Arithmetic Problem 4
    Medium
    115-5Arithmetic Problem 5
    Hard
    115-6Arithmetic Problem 6
    Easy
  • 116-1Division Problem 1
    Easy
    116-2Division Problem 2
    Easy
    116-3Division Problem 3
    Medium
    116-4Division Problem 4
    Medium
    116-5Division Problem 5
    Hard
    116-6Exercise 116.6
    Easy
  • 117-1Double Precision Problem 1
    Easy
    117-2Double Precision Problem 2
    Easy
    117-3Double Precision Problem 3
    Medium
    117-4Double Precision Problem 4
    Medium
    117-5Double Precision Problem 5
    Hard
    117-6Exercise 117.6
    Easy
  • 118-1Arithmetic Problem 1
    Easy
    118-2Arithmetic Problem 2
    Easy
    118-3Arithmetic Problem 3
    Medium
    118-4Arithmetic Problem 4
    Medium
    118-5Arithmetic Problem 5
    Hard
    118-6Arithmetic Problem 6
    Easy
  • 119-1Division Problem 1
    Easy
    119-2Division Problem 2
    Easy
    119-3Division Problem 3
    Medium
    119-4Division Problem 4
    Medium
    119-5Division Problem 5
    Hard
    119-6Exercise 119.6
    Easy
  • 120-1Double Precision Problem 1
    Easy
    120-2Double Precision Problem 2
    Easy
    120-3Double Precision Problem 3
    Medium
    120-4Double Precision Problem 4
    Medium
    120-5Double Precision Problem 5
    Hard
    120-6Exercise 120.6
    Easy
  • Arithmetic concepts and practice

    121-1Arithmetic Problem 1
    Easy
    121-2Arithmetic Problem 2
    Easy
    121-3Arithmetic Problem 3
    Medium
    121-4Arithmetic Problem 4
    Medium
    121-5Arithmetic Problem 5
    Hard
    121-6Arithmetic Problem 6
    Easy
  • Division concepts and practice

    122-1Division Problem 1
    Easy
    122-2Division Problem 2
    Easy
    122-3Division Problem 3
    Medium
    122-4Division Problem 4
    Medium
    122-5Division Problem 5
    Hard
  • Double Precision concepts and practice

    123-1Double Precision Problem 1
    Easy
    123-2Double Precision Problem 2
    Easy
    123-3Double Precision Problem 3
    Medium
    123-4Double Precision Problem 4
    Medium
    123-5Double Precision Problem 5
    Hard