Skip to content
Hardcover Hacker's Delight Book

ISBN: 0321842685

ISBN13: 9780321842688

Hacker's Delight

"This is the first book that promises to tell the deep, dark secrets of computer arithmetic, and it delivers in spades. It contains every trick I knew plus many, many more. A godsend for library developers, compiler writers, and lovers of elegant hacks, it deserves a spot on your shelf right next to Knuth."

--Josh Bloch (Praise for the first edition)

In Hacker's Delight, Second Edition, Hank Warren once again compiles...

Recommended

Format: Hardcover

Condition: New

$55.92
Save $4.07!
List Price $59.99
Almost Gone, Only 4 Left!
Ships within 24 hours

Customer Reviews

5 ratings

Magic

First of all, the book itself is incredible. The title was poorly chosen, I think. The connotation of "hacker" in the public mind is somewhat different than the word's meaning forty years ago at MIT, and I found (and continue to find) this book shelved alongside ephemera about firewalls and internet security. Thinking it was about "1337 hacking", I picked it off the shelf for a quick sneer. Six hours later, the bookstore had to kick me out because they were closing. Think of it as "The Art of Computer Programming, Volume 0: Bit Manipulation". Except without the annoying Knuth attitude. "Hacker's Delight" is a timeless classic, a scholarly and exhaustive treatment of finite-word-length arithmetic and other bit-manipulation algorithms. The book is excellently written and the material lovingly presented. For some people (such as me), the mathematical beauty and cleverness of the solutions is reason enough to find the book fascinating. For other people (such as me), there are extensive practical applications. However, the size of the latter group (or, perhaps, relative percentage) is dwindling with time. A programmer who thinks that the universe begins and ends with Oracle and PHP respectively is unlikely to need an 8-RISC-instruction algorithm for dividing integers by 7. The essence of programming is abstraction, and as computational resources become more abundant, the path of progress abstracts further and further away from the machine. For many modern programmers, there are no bits -- there are only "numbers" (double-precision floats, typically), and the hardware handles these floats just as gracefully as integers. In this world, one's complementing and shifting have no meaning. Even for those working at a lower level, the caching and pipelining schemes of modern architectures can complicate some of the assumptions in this book. For example, branch performance is highly architecture-dependent, and the efficiency that can be gained through branch tuning can outweigh that of shaving off a few instructions. Warren is careful to provide and identify branch-free algorithms whenever possible, but it often is not. As another example, parallel instruction scheduling means that not only is a routine no longer the sum of its instructions' cycles, it's not even completely deterministic, at least from the programmer's perspective. But I work in the embedded field, and my targets have ranged from 1 MHz 8-bit 6502s through 50 MHz 32-bit Coldfires to creatively-handicapped DSPs of various sorts. Not a FPU or branch predictor in sight. In such situations, the algorithms in "Hacker's Delight" can be lifesavers. Not to mention, so much fun! If you approach optimization as a puzzle, wherein the solution is its own reward, this book is indeed a compendium of delights. Many descriptions of this book refer to it as a collection of programming "tricks". I dislike that word; it implies a casualness and triviality that does not befit a book of th

Lots of fun, + lots of uses for firmware engineers

Warren was one of the editors of the PowerPC compiler guide and that book had two neat chapeters, "Clever Examples," and "Optimal Code Sequences," which introduced the use of the gnu superoptimzer. The PPC Compiler Writer's guide was useful for more than Compiler Writers! Warren's book Hacker's Delight is a greatly expanded version of that material. He introduces a basic RISC and proceeds to give C, pseudocode and basic RISC assembly for many different operations. What distinguishes Hacker's Delight is that he goes into cycle counts and optimzation strategies for some of the algorithims and analyzes tradeoffs for different solutions. Some of bits I have applied the techniques to my day job are in ch. 7: Rearranging Bits and Bytes and Chs. 5 & 6 "Counting Bits" and "Searching Words" There is some good material on computer arithmetic including using a radix -2 system, and a chapter on Hilbert's Curves as well as Primes, which I haven't gotten a chance to enjoy yet. Be sure to check his website for errata and some additional material. Highly Recommended.

this book rocks!

If you love the nuts and bolts of logical operations in computer programming, do I have a book for you! This book does a great job of describing in reasonable detail logical operators and what you can do with them ranging from very basic "what is it" to reasonably advanced applications such as wierd base -2 math, division, pattern matching, etc. I found this book to be a great reference and refresher clearly layed out and easy to read. I wish my software engineer co-workers would read this book. I'm tired of seeing ugly code (a while loop with a mod operator to align data pointers on, say, 8 byte boundaries).

Excellent Catalog of Techniques

I feel compelled to point out that this book is _not_ a few things: It's not a book that teaches you how to break into computers, or crack codes. It's also not the kind of book that teaches you how to do something which you don't know how to do. This book is a collection of tricks that show the reader better ways to do things they already know how to do. And it's also a book that can give the reader insight into different approaches and mechanisms for solving problems.Computer programmers translate their ideas and requirements into any of several computer languages. Those expressions are limited by the language the programmer is using, and maybe even the machine the programmer is targeting. But there is a wide continum of expressions that result in the same -- hopefully correct -- results. Choosing the most efficient, and most elegant, expression to some is "real" hacking.This book is for real hackers. It's a great collection of tricks for performing usually simple operations in an elegant way. What's elegant? Well, elegant is efficeint. If there's a side-effect of an elegant operation, it turns out that side-effect is probably useful and not simply discarded.This book catalogs insights into concrete binary math, shortcuts derived from different boolean operators, and even approaches some interesting numerical analysis problems.If you already know how to write software, and you already know you want to find faster or more efficient ways to check for overflows on integers, divide nubmers, count bits, search for binary patterns, or do other twiddling, then this book is for you.If the application of such techniques doesn't seem important to you, then this book probably isn't going to be of interest to you.

Reader's Delight

Early drafts of Dr Warren's book have circulated for several years samizdat style among a group of hardware, compiler and OS people at a large computer research lab. One copy in particular always sits about three feet from me. If the building were to catch on fire, you might very well hear shouts of "who's taking Hacker's Delight?" How do you determine, using the smallest number of instructions, if a word contains at least one zero byte? How do you transpose a bit matrix? Divide by 5? Count the number of ones in a word? Permute bits? Maybe you're smart enough to already know. Or perhaps you know someone else who does. For the rest of us there's Hacker's Delight. Some years back, in the course of building a large machine, we made a mistake that resulted in some very expensive rework. Just one particular paragraph in this book would have saved us an amount of money best not admitted in print. If you have Knuth on your shelf then there's a good chance that you'll want Hacker's Delight right next to it. And just in case life is getting too serious, there are some entertaining chapters on prime numbers and Hilbert curves, written so compellingly that you can't stop reading until the end. Highly recommended. If this book relates to the kind of work you do, then don't leave home without it.
Copyright © 2023 Thriftbooks.com Terms of Use | Privacy Policy | Do Not Sell/Share My Personal Information | Cookie Policy | Cookie Preferences | Accessibility Statement
ThriftBooks® and the ThriftBooks® logo are registered trademarks of Thrift Books Global, LLC
GoDaddy Verified and Secured