
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.4Medium1-5Problem 1.5Hard1-6Problem 1.6Easy
- 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.4Medium3-5Problem 3.5Hard3-6Problem 3.6Easy
- 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.3Medium4-4Problem 4.4Medium4-5Problem 4.5Hard4-6Problem 4.6Easy
- 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.4Medium5-5Problem 5.5Hard5-6Problem 5.6Easy
- 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.5Hard7-6Problem 7.6Easy
- 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.4Medium8-5Problem 8.5Hard8-6Problem 8.6Easy
- 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.6Easy
- 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.4Medium10-5Problem 10.5Hard10-6Problem 10.6Easy
- 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.5Hard11-6Problem 11.6Easy
- 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.6Easy
- 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.5Hard13-6Problem 13.6Easy
- 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.3Medium14-4Problem 14.4Medium14-5Problem 14.5Hard14-6Problem 14.6Easy
- 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.4Medium16-5Problem 16.5Hard16-6Problem 16.6Easy
- 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.5Hard17-6Problem 17.6Easy
- 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.6Easy
- 19-1Problem 19.1Easy19-2Problem 19.2Easy19-3Problem 19.3Medium19-4Problem 19.4Medium19-5Problem 19.5Hard19-6Problem 19.6Easy
- 20-1Problem 20.1Easy20-2Problem 20.2Easy20-3Problem 20.3Medium20-4Problem 20.4Medium20-5Problem 20.5Hard20-6Exercise 20.6Easy
- 21-1Problem 21.1Easy21-2Problem 21.2Easy21-3Problem 21.3Medium21-4Problem 21.4Medium21-5Problem 21.5Hard21-6Exercise 21.6Easy
- 22-1Arithmetic Problem 1Easy22-2Arithmetic Problem 2Easy22-3Arithmetic Problem 3Medium22-4Arithmetic Problem 4Medium22-5Arithmetic Problem 5Hard22-6Arithmetic Problem 6Easy
- 23-1Division Problem 1Easy23-2Division Problem 2Easy23-3Division Problem 3Medium23-4Division Problem 4Medium23-5Division Problem 5Hard23-6Exercise 23.6Easy
- 24-1Double Precision Problem 1Easy24-2Double Precision Problem 2Easy24-3Double Precision Problem 3Medium24-4Double Precision Problem 4Medium24-5Double Precision Problem 5Hard24-6Exercise 24.6Easy
- 25-1Arithmetic Problem 1Easy25-2Arithmetic Problem 2Easy25-3Arithmetic Problem 3Medium25-4Arithmetic Problem 4Medium25-5Arithmetic Problem 5Hard25-6Arithmetic Problem 6Easy
- 26-1Division Problem 1Easy26-2Division Problem 2Easy26-3Division Problem 3Medium26-4Division Problem 4Medium26-5Division Problem 5Hard26-6Exercise 26.6Easy
- 27-1Double Precision Problem 1Easy27-2Double Precision Problem 2Easy27-3Double Precision Problem 3Medium27-4Double Precision Problem 4Medium27-5Double Precision Problem 5Hard27-6Exercise 27.6Easy
- 28-1Arithmetic Problem 1Easy28-2Arithmetic Problem 2Easy28-3Arithmetic Problem 3Medium28-4Arithmetic Problem 4Medium28-5Arithmetic Problem 5Hard28-6Arithmetic Problem 6Easy
- 29-1Division Problem 1Easy29-2Division Problem 2Easy29-3Division Problem 3Medium29-4Division Problem 4Medium29-5Division Problem 5Hard29-6Exercise 29.6Easy
- 30-1Double Precision Problem 1Easy30-2Double Precision Problem 2Easy30-3Double Precision Problem 3Medium30-4Double Precision Problem 4Medium30-5Double Precision Problem 5Hard30-6Exercise 30.6Easy
- 31-1Arithmetic Problem 1Easy31-2Arithmetic Problem 2Easy31-3Arithmetic Problem 3Medium31-4Arithmetic Problem 4Medium31-5Arithmetic Problem 5Hard31-6Arithmetic Problem 6Easy
- 32-1Division Problem 1Easy32-2Division Problem 2Easy32-3Division Problem 3Medium32-4Division Problem 4Medium32-5Division Problem 5Hard32-6Exercise 32.6Easy
- 33-1Double Precision Problem 1Easy33-2Double Precision Problem 2Easy33-3Double Precision Problem 3Medium33-4Double Precision Problem 4Medium33-5Double Precision Problem 5Hard33-6Exercise 33.6Easy
- 34-1Arithmetic Problem 1Easy34-2Arithmetic Problem 2Easy34-3Arithmetic Problem 3Medium34-4Arithmetic Problem 4Medium34-5Arithmetic Problem 5Hard34-6Arithmetic Problem 6Easy
- 35-1Division Problem 1Easy35-2Division Problem 2Easy35-3Division Problem 3Medium35-4Division Problem 4Medium35-5Division Problem 5Hard35-6Exercise 35.6Easy
- 36-1Double Precision Problem 1Easy36-2Double Precision Problem 2Easy36-3Double Precision Problem 3Medium36-4Double Precision Problem 4Medium36-5Double Precision Problem 5Hard36-6Exercise 36.6Easy
- 37-1Arithmetic Problem 1Easy37-2Arithmetic Problem 2Easy37-3Arithmetic Problem 3Medium37-4Arithmetic Problem 4Medium37-5Arithmetic Problem 5Hard37-6Arithmetic Problem 6Easy
- 38-1Division Problem 1Easy38-2Division Problem 2Easy38-3Division Problem 3Medium38-4Division Problem 4Medium38-5Division Problem 5Hard38-6Exercise 38.6Easy
- 39-1Double Precision Problem 1Easy39-2Double Precision Problem 2Easy39-3Double Precision Problem 3Medium39-4Double Precision Problem 4Medium39-5Double Precision Problem 5Hard39-6Exercise 39.6Easy
- 40-1Arithmetic Problem 1Easy40-2Arithmetic Problem 2Easy40-3Arithmetic Problem 3Medium40-4Arithmetic Problem 4Medium40-5Arithmetic Problem 5Hard40-6Arithmetic Problem 6Easy
- 41-1Division Problem 1Easy41-2Division Problem 2Easy41-3Division Problem 3Medium41-4Division Problem 4Medium41-5Division Problem 5Hard41-6Exercise 41.6Easy
- 42-1Double Precision Problem 1Easy42-2Double Precision Problem 2Easy42-3Double Precision Problem 3Medium42-4Double Precision Problem 4Medium42-5Double Precision Problem 5Hard42-6Exercise 42.6Easy
- 43-1Arithmetic Problem 1Easy43-2Arithmetic Problem 2Easy43-3Arithmetic Problem 3Medium43-4Arithmetic Problem 4Medium43-5Arithmetic Problem 5Hard43-6Arithmetic Problem 6Easy
- 44-1Division Problem 1Easy44-2Division Problem 2Easy44-3Division Problem 3Medium44-4Division Problem 4Medium44-5Division Problem 5Hard44-6Exercise 44.6Easy
- 45-1Double Precision Problem 1Easy45-2Double Precision Problem 2Easy45-3Double Precision Problem 3Medium45-4Double Precision Problem 4Medium45-5Double Precision Problem 5Hard45-6Exercise 45.6Easy
- 46-1Arithmetic Problem 1Easy46-2Arithmetic Problem 2Easy46-3Arithmetic Problem 3Medium46-4Arithmetic Problem 4Medium46-5Arithmetic Problem 5Hard46-6Arithmetic Problem 6Easy
- 47-1Division Problem 1Easy47-2Division Problem 2Easy47-3Division Problem 3Medium47-4Division Problem 4Medium47-5Division Problem 5Hard47-6Exercise 47.6Easy
- 48-1Double Precision Problem 1Easy48-2Double Precision Problem 2Easy48-3Double Precision Problem 3Medium48-4Double Precision Problem 4Medium48-5Double Precision Problem 5Hard48-6Exercise 48.6Easy
- 49-1Arithmetic Problem 1Easy49-2Arithmetic Problem 2Easy49-3Arithmetic Problem 3Medium49-4Arithmetic Problem 4Medium49-5Arithmetic Problem 5Hard49-6Arithmetic Problem 6Easy
- 50-1Division Problem 1Easy50-2Division Problem 2Easy50-3Division Problem 3Medium50-4Division Problem 4Medium50-5Division Problem 5Hard50-6Exercise 50.6Easy
- 51-1Double Precision Problem 1Easy51-2Double Precision Problem 2Easy51-3Double Precision Problem 3Medium51-4Double Precision Problem 4Medium51-5Double Precision Problem 5Hard51-6Exercise 51.6Easy
- 52-1Arithmetic Problem 1Easy52-2Arithmetic Problem 2Easy52-3Arithmetic Problem 3Medium52-4Arithmetic Problem 4Medium52-5Arithmetic Problem 5Hard52-6Arithmetic Problem 6Easy
- 53-1Division Problem 1Easy53-2Division Problem 2Easy53-3Division Problem 3Medium53-4Division Problem 4Medium53-5Division Problem 5Hard53-6Exercise 53.6Easy
- 54-1Double Precision Problem 1Easy54-2Double Precision Problem 2Easy54-3Double Precision Problem 3Medium54-4Double Precision Problem 4Medium54-5Double Precision Problem 5Hard54-6Exercise 54.6Easy
- 55-1Arithmetic Problem 1Easy55-2Arithmetic Problem 2Easy55-3Arithmetic Problem 3Medium55-4Arithmetic Problem 4Medium55-5Arithmetic Problem 5Hard55-6Arithmetic Problem 6Easy
- 56-1Division Problem 1Easy56-2Division Problem 2Easy56-3Division Problem 3Medium56-4Division Problem 4Medium56-5Division Problem 5Hard56-6Exercise 56.6Easy
- 57-1Double Precision Problem 1Easy57-2Double Precision Problem 2Easy57-3Double Precision Problem 3Medium57-4Double Precision Problem 4Medium57-5Double Precision Problem 5Hard57-6Exercise 57.6Easy
- 58-1Arithmetic Problem 1Easy58-2Arithmetic Problem 2Easy58-3Arithmetic Problem 3Medium58-4Arithmetic Problem 4Medium58-5Arithmetic Problem 5Hard58-6Arithmetic Problem 6Easy
- 59-1Division Problem 1Easy59-2Division Problem 2Easy59-3Division Problem 3Medium59-4Division Problem 4Medium59-5Division Problem 5Hard59-6Exercise 59.6Easy
- 60-1Double Precision Problem 1Easy60-2Double Precision Problem 2Easy60-3Double Precision Problem 3Medium60-4Double Precision Problem 4Medium60-5Double Precision Problem 5Hard60-6Exercise 60.6Easy
- 61-1Arithmetic Problem 1Easy61-2Arithmetic Problem 2Easy61-3Arithmetic Problem 3Medium61-4Arithmetic Problem 4Medium61-5Arithmetic Problem 5Hard61-6Arithmetic Problem 6Easy
- 62-1Division Problem 1Easy62-2Division Problem 2Easy62-3Division Problem 3Medium62-4Division Problem 4Medium62-5Division Problem 5Hard62-6Exercise 62.6Easy
- 63-1Double Precision Problem 1Easy63-2Double Precision Problem 2Easy63-3Double Precision Problem 3Medium63-4Double Precision Problem 4Medium63-5Double Precision Problem 5Hard63-6Exercise 63.6Easy
- 64-1Arithmetic Problem 1Easy64-2Arithmetic Problem 2Easy64-3Arithmetic Problem 3Medium64-4Arithmetic Problem 4Medium64-5Arithmetic Problem 5Hard64-6Arithmetic Problem 6Easy
- 65-1Division Problem 1Easy65-2Division Problem 2Easy65-3Division Problem 3Medium65-4Division Problem 4Medium65-5Division Problem 5Hard65-6Exercise 65.6Easy
- 66-1Double Precision Problem 1Easy66-2Double Precision Problem 2Easy66-3Double Precision Problem 3Medium66-4Double Precision Problem 4Medium66-5Double Precision Problem 5Hard66-6Exercise 66.6Easy
- 67-1Arithmetic Problem 1Easy67-2Arithmetic Problem 2Easy67-3Arithmetic Problem 3Medium67-4Arithmetic Problem 4Medium67-5Arithmetic Problem 5Hard67-6Arithmetic Problem 6Easy
- 68-1Division Problem 1Easy68-2Division Problem 2Easy68-3Division Problem 3Medium68-4Division Problem 4Medium68-5Division Problem 5Hard68-6Exercise 68.6Easy
- 69-1Double Precision Problem 1Easy69-2Double Precision Problem 2Easy69-3Double Precision Problem 3Medium69-4Double Precision Problem 4Medium69-5Double Precision Problem 5Hard69-6Exercise 69.6Easy
- 70-1Arithmetic Problem 1Easy70-2Arithmetic Problem 2Easy70-3Arithmetic Problem 3Medium70-4Arithmetic Problem 4Medium70-5Arithmetic Problem 5Hard70-6Arithmetic Problem 6Easy
- 71-1Division Problem 1Easy71-2Division Problem 2Easy71-3Division Problem 3Medium71-4Division Problem 4Medium71-5Division Problem 5Hard71-6Exercise 71.6Easy
- 72-1Double Precision Problem 1Easy72-2Double Precision Problem 2Easy72-3Double Precision Problem 3Medium72-4Double Precision Problem 4Medium72-5Double Precision Problem 5Hard72-6Exercise 72.6Easy
- 73-1Arithmetic Problem 1Easy73-2Arithmetic Problem 2Easy73-3Arithmetic Problem 3Medium73-4Arithmetic Problem 4Medium73-5Arithmetic Problem 5Hard73-6Arithmetic Problem 6Easy
- 74-1Division Problem 1Easy74-2Division Problem 2Easy74-3Division Problem 3Medium74-4Division Problem 4Medium74-5Division Problem 5Hard74-6Exercise 74.6Easy
- 75-1Double Precision Problem 1Easy75-2Double Precision Problem 2Easy75-3Double Precision Problem 3Medium75-4Double Precision Problem 4Medium75-5Double Precision Problem 5Hard75-6Exercise 75.6Easy
- 76-1Arithmetic Problem 1Easy76-2Arithmetic Problem 2Easy76-3Arithmetic Problem 3Medium76-4Arithmetic Problem 4Medium76-5Arithmetic Problem 5Hard76-6Arithmetic Problem 6Easy
- 77-1Division Problem 1Easy77-2Division Problem 2Easy77-3Division Problem 3Medium77-4Division Problem 4Medium77-5Division Problem 5Hard77-6Exercise 77.6Easy
- 78-1Double Precision Problem 1Easy78-2Double Precision Problem 2Easy78-3Double Precision Problem 3Medium78-4Double Precision Problem 4Medium78-5Double Precision Problem 5Hard78-6Exercise 78.6Easy
- 79-1Arithmetic Problem 1Easy79-2Arithmetic Problem 2Easy79-3Arithmetic Problem 3Medium79-4Arithmetic Problem 4Medium79-5Arithmetic Problem 5Hard79-6Arithmetic Problem 6Easy
- 80-1Division Problem 1Easy80-2Division Problem 2Easy80-3Division Problem 3Medium80-4Division Problem 4Medium80-5Division Problem 5Hard80-6Exercise 80.6Easy
- 81-1Double Precision Problem 1Easy81-2Double Precision Problem 2Easy81-3Double Precision Problem 3Medium81-4Double Precision Problem 4Medium81-5Double Precision Problem 5Hard81-6Exercise 81.6Easy
- 82-1Arithmetic Problem 1Easy82-2Arithmetic Problem 2Easy82-3Arithmetic Problem 3Medium82-4Arithmetic Problem 4Medium82-5Arithmetic Problem 5Hard82-6Arithmetic Problem 6Easy
- 83-1Division Problem 1Easy83-2Division Problem 2Easy83-3Division Problem 3Medium83-4Division Problem 4Medium83-5Division Problem 5Hard83-6Exercise 83.6Easy
- 84-1Double Precision Problem 1Easy84-2Double Precision Problem 2Easy84-3Double Precision Problem 3Medium84-4Double Precision Problem 4Medium84-5Double Precision Problem 5Hard84-6Exercise 84.6Easy
- 85-1Arithmetic Problem 1Easy85-2Arithmetic Problem 2Easy85-3Arithmetic Problem 3Medium85-4Arithmetic Problem 4Medium85-5Arithmetic Problem 5Hard85-6Arithmetic Problem 6Easy
- 86-1Division Problem 1Easy86-2Division Problem 2Easy86-3Division Problem 3Medium86-4Division Problem 4Medium86-5Division Problem 5Hard86-6Exercise 86.6Easy
- 87-1Double Precision Problem 1Easy87-2Double Precision Problem 2Easy87-3Double Precision Problem 3Medium87-4Double Precision Problem 4Medium87-5Double Precision Problem 5Hard87-6Exercise 87.6Easy
- 88-1Arithmetic Problem 1Easy88-2Arithmetic Problem 2Easy88-3Arithmetic Problem 3Medium88-4Arithmetic Problem 4Medium88-5Arithmetic Problem 5Hard88-6Arithmetic Problem 6Easy
- 89-1Division Problem 1Easy89-2Division Problem 2Easy89-3Division Problem 3Medium89-4Division Problem 4Medium89-5Division Problem 5Hard89-6Exercise 89.6Easy
- 90-1Double Precision Problem 1Easy90-2Double Precision Problem 2Easy90-3Double Precision Problem 3Medium90-4Double Precision Problem 4Medium90-5Double Precision Problem 5Hard90-6Exercise 90.6Easy
- 91-1Arithmetic Problem 1Easy91-2Arithmetic Problem 2Easy91-3Arithmetic Problem 3Medium91-4Arithmetic Problem 4Medium91-5Arithmetic Problem 5Hard91-6Arithmetic Problem 6Easy
- 92-1Division Problem 1Easy92-2Division Problem 2Easy92-3Division Problem 3Medium92-4Division Problem 4Medium92-5Division Problem 5Hard92-6Exercise 92.6Easy
- 93-1Double Precision Problem 1Easy93-2Double Precision Problem 2Easy93-3Double Precision Problem 3Medium93-4Double Precision Problem 4Medium93-5Double Precision Problem 5Hard93-6Exercise 93.6Easy
- 94-1Arithmetic Problem 1Easy94-2Arithmetic Problem 2Easy94-3Arithmetic Problem 3Medium94-4Arithmetic Problem 4Medium94-5Arithmetic Problem 5Hard94-6Arithmetic Problem 6Easy
- 95-1Division Problem 1Easy95-2Division Problem 2Easy95-3Division Problem 3Medium95-4Division Problem 4Medium95-5Division Problem 5Hard95-6Exercise 95.6Easy
- 96-1Double Precision Problem 1Easy96-2Double Precision Problem 2Easy96-3Double Precision Problem 3Medium96-4Double Precision Problem 4Medium96-5Double Precision Problem 5Hard96-6Exercise 96.6Easy
- 97-1Arithmetic Problem 1Easy97-2Arithmetic Problem 2Easy97-3Arithmetic Problem 3Medium97-4Arithmetic Problem 4Medium97-5Arithmetic Problem 5Hard97-6Arithmetic Problem 6Easy
- 98-1Division Problem 1Easy98-2Division Problem 2Easy98-3Division Problem 3Medium98-4Division Problem 4Medium98-5Division Problem 5Hard98-6Exercise 98.6Easy
- 99-1Double Precision Problem 1Easy99-2Double Precision Problem 2Easy99-3Double Precision Problem 3Medium99-4Double Precision Problem 4Medium99-5Double Precision Problem 5Hard99-6Exercise 99.6Easy
- 100-1Arithmetic Problem 1Easy100-2Arithmetic Problem 2Easy100-3Arithmetic Problem 3Medium100-4Arithmetic Problem 4Medium100-5Arithmetic Problem 5Hard100-6Arithmetic Problem 6Easy
- 101-1Division Problem 1Easy101-2Division Problem 2Easy101-3Division Problem 3Medium101-4Division Problem 4Medium101-5Division Problem 5Hard101-6Exercise 101.6Easy
- 102-1Double Precision Problem 1Easy102-2Double Precision Problem 2Easy102-3Double Precision Problem 3Medium102-4Double Precision Problem 4Medium102-5Double Precision Problem 5Hard102-6Exercise 102.6Easy
- 103-1Arithmetic Problem 1Easy103-2Arithmetic Problem 2Easy103-3Arithmetic Problem 3Medium103-4Arithmetic Problem 4Medium103-5Arithmetic Problem 5Hard103-6Arithmetic Problem 6Easy
- 104-1Division Problem 1Easy104-2Division Problem 2Easy104-3Division Problem 3Medium104-4Division Problem 4Medium104-5Division Problem 5Hard104-6Exercise 104.6Easy
- 105-1Double Precision Problem 1Easy105-2Double Precision Problem 2Easy105-3Double Precision Problem 3Medium105-4Double Precision Problem 4Medium105-5Double Precision Problem 5Hard105-6Exercise 105.6Easy
- 106-1Arithmetic Problem 1Easy106-2Arithmetic Problem 2Easy106-3Arithmetic Problem 3Medium106-4Arithmetic Problem 4Medium106-5Arithmetic Problem 5Hard106-6Arithmetic Problem 6Easy
- 107-1Division Problem 1Easy107-2Division Problem 2Easy107-3Division Problem 3Medium107-4Division Problem 4Medium107-5Division Problem 5Hard107-6Exercise 107.6Easy
- 108-1Double Precision Problem 1Easy108-2Double Precision Problem 2Easy108-3Double Precision Problem 3Medium108-4Double Precision Problem 4Medium108-5Double Precision Problem 5Hard108-6Exercise 108.6Easy
- 109-1Arithmetic Problem 1Easy109-2Arithmetic Problem 2Easy109-3Arithmetic Problem 3Medium109-4Arithmetic Problem 4Medium109-5Arithmetic Problem 5Hard109-6Arithmetic Problem 6Easy
- 110-1Division Problem 1Easy110-2Division Problem 2Easy110-3Division Problem 3Medium110-4Division Problem 4Medium110-5Division Problem 5Hard110-6Exercise 110.6Easy
- 111-1Double Precision Problem 1Easy111-2Double Precision Problem 2Easy111-3Double Precision Problem 3Medium111-4Double Precision Problem 4Medium111-5Double Precision Problem 5Hard111-6Exercise 111.6Easy
- 112-1Arithmetic Problem 1Easy112-2Arithmetic Problem 2Easy112-3Arithmetic Problem 3Medium112-4Arithmetic Problem 4Medium112-5Arithmetic Problem 5Hard112-6Arithmetic Problem 6Easy
- 113-1Division Problem 1Easy113-2Division Problem 2Easy113-3Division Problem 3Medium113-4Division Problem 4Medium113-5Division Problem 5Hard113-6Exercise 113.6Easy
- 114-1Double Precision Problem 1Easy114-2Double Precision Problem 2Easy114-3Double Precision Problem 3Medium114-4Double Precision Problem 4Medium114-5Double Precision Problem 5Hard114-6Exercise 114.6Easy
- 115-1Arithmetic Problem 1Easy115-2Arithmetic Problem 2Easy115-3Arithmetic Problem 3Medium115-4Arithmetic Problem 4Medium115-5Arithmetic Problem 5Hard115-6Arithmetic Problem 6Easy
- 116-1Division Problem 1Easy116-2Division Problem 2Easy116-3Division Problem 3Medium116-4Division Problem 4Medium116-5Division Problem 5Hard116-6Exercise 116.6Easy
- 117-1Double Precision Problem 1Easy117-2Double Precision Problem 2Easy117-3Double Precision Problem 3Medium117-4Double Precision Problem 4Medium117-5Double Precision Problem 5Hard117-6Exercise 117.6Easy
- 118-1Arithmetic Problem 1Easy118-2Arithmetic Problem 2Easy118-3Arithmetic Problem 3Medium118-4Arithmetic Problem 4Medium118-5Arithmetic Problem 5Hard118-6Arithmetic Problem 6Easy
- 119-1Division Problem 1Easy119-2Division Problem 2Easy119-3Division Problem 3Medium119-4Division Problem 4Medium119-5Division Problem 5Hard119-6Exercise 119.6Easy
- 120-1Double Precision Problem 1Easy120-2Double Precision Problem 2Easy120-3Double Precision Problem 3Medium120-4Double Precision Problem 4Medium120-5Double Precision Problem 5Hard120-6Exercise 120.6Easy
Arithmetic concepts and practice
121-1Arithmetic Problem 1Easy121-2Arithmetic Problem 2Easy121-3Arithmetic Problem 3Medium121-4Arithmetic Problem 4Medium121-5Arithmetic Problem 5Hard121-6Arithmetic Problem 6EasyDivision concepts and practice
122-1Division Problem 1Easy122-2Division Problem 2Easy122-3Division Problem 3Medium122-4Division Problem 4Medium122-5Division Problem 5HardDouble Precision concepts and practice
123-1Double Precision Problem 1Easy123-2Double Precision Problem 2Easy123-3Double Precision Problem 3Medium123-4Double Precision Problem 4Medium123-5Double Precision Problem 5Hard