Hey, anyone like advanced math and assembly language? If you complain that C is too high-level of a language, I’ve found the book for you.
Hacker’s Delight promises to tell the secrets of computer arithmetic, and it very much does that. From the basics of bitwise operations to Single-Error Correcting codes, this book contains an impressive repertoire of tricks for low-level software work.
If you’re frustrated by processor branch mispredictions ruining your algorithm’s performance, this book’s got you covered. If you can read hexadecimal, this book has that. If you’re wild on Gray Codes and don’t want to break out Volume 4A of Knuth’s The Art of Computer Programming, there’s a section on that too.
The Integer Division chapters felt bloated and jammed with proofs, and the section on unusual bases for number systems was pretty much lifted straight from Donald E. Knuth’s Art of Computer Programming, but Warren’s friendly, conversational style made even these a pleasure. The first several chapters were quite enjoyable, and I particularly enjoyed the sections on the Sheep and Goats operation, Multiplication by Constants, Cyclic Redundancy Checks, Error Correcting Codes, and the Hilbert Curve.
The explanation of IEEE-754 floating points is the best I’ve gotten from any book, and Appendix C: A Gallery of Graphs of Discrete Functions should not be missed. Definitely a five-star read, but Warren assumes you already own your math hat and wear it proudly.