Volume 2 of "The Art of Computer Programming" is about random numbers and also about relearning one of the three Rs from grade school, viz. arithmetic. Each topic gets one chapter.
When you generate random numbers in Excel, or VBA, or Perl, or C using functions packaged with the software, you are really using a deterministic algorithm that is not random at all; the results do however look random and so we call them "pseudorandom".
Chapter 3 contains four main sections. First a section devoted to the linear congruence method (Xn+1=(aXn + c) mod m) of generating a pseudorandom sequence; with subsections on how to choose good values for a, c, and m. Second we get a section about how to test sequences to find if they are acceptably random or not. Third we find a section on other methods, expanding on linear congruence. Finally in a particularly fascinating section, DK provides a rigorous definition of randomness.
I haven't looked much at chapter 4 yet, on arithmetic. In it Knuth covers positional arithmetic, floating point arithmetic, multiplication and division at the machine level, prime numbers and efficient ways of investigating the primeness of very large numbers.
Again, DK is thorough and methodical. Again this is not a for dummies book. Again it is about theorems, algorithms, mechanical processes, and timeless truths. Again the exercises are a fascinating blend of the practical (investigate the random generating functions on the computers in your office) to the mathematical (he asks readers to formally prove many of the theorems he cites). And yes, again Knuth uses MIX, that wonderfully archaic fictional 60s machine language. But that should not stop readers; I use Perl.
Vincent Poirier, Tokyo