Henry S. Warren, Jr.

From Chessprogramming wiki
Jump to: navigation, search

Home * People * Henry S. Warren, Jr.

Henry S. (Hank) Warren, Jr.,
an American computer scientist and IBM research fellow, best known as author of Hacker's Delight, a groundbreaking book on all the programming tricks and bit-twiddling, which also influenced chess programming, especially in manipulating bitboards. Hank received his Ph.D. in computer science from the Courant Institute at New York University. Since 1973 he has been with IBM's Research Division, focusing on compilers and computer architectures. He currently works on the Blue Gene [1] petaflop computer project [2] [3].

Hacker's Delight


ISBN-13: 9780201914658 [4] Pub. Date: July 2002, September 2012 (2nd Edition) Publisher: Addison-Wesley Hacker's Delight, 2nd Edition


A computer scientist deeply embedded in IBM has compiled small programming tricks he has come across over his four decades in the field. Most work only on computers that represent integers in two's- complement form, and are easily adapted to machines with various register sizes, though a 32-bit machine is assumed when the register length is relevant. He gives proofs only when the algorithm is not obvious, and not always then.


These are the timesaving techniques relished by computer hackers—those devoted and persistent code developers who seek elegant and efficient ways to build better software. The truth is that much of the computer programmer's job involves a healthy mix of arithmetic and logic. In Hacker's Delight, veteran programmer Hank Warren shares the tricks he has collected from his considerable experience in the worlds of application and system programming. Most of these techniques are eminently practical, but a few are included just because they are interesting and unexpected. The resulting work is an irresistible collection that will help even the most seasoned programmers better their craft.


  • A broad collection of useful programming tricks
  • Small algorithms for common tasks
  • Power-of-2 boundaries and bounds checking
  • Rearranging bits and bytes
  • Integer division and division by constants
  • Some elementary functions on integers
  • Gray code
  • Hilbert's space-filling curve
  • And even formulas for prime numbers!

See also


Sample section of Hacker's Delight, Chapter 2 Basics (pdf)
C code for most of the programs that appear in HD

External Links


Up one level