ハッカーのたのしみ 本物のプログラマはいかにして問題を解くか

ハッカーのたのしみ―本物のプログラマはいかにして問題を解くか
著:Henry S. Warren, Jr. 訳:滝沢徹他 エスアイビー・アクセス*1

条件分岐等のコストの高い演算をできるだけ使わずに、各種のビット演算だけで種々の計算を行う手法については、Windowsプロフェッショナルゲームプログラミング(やねうらお) *2 *3の「ビット演算の魔術師」にも記載がありますが、本書ではそのテクニックを徹底して追求しています。
冒頭で登場するのは、符号なし整数xについての以下のような性質。考えてみれば確かにそうなんですが。

  • x & (x-1) は, x=2n なら 0, そうでなければ非0
  • x & (x+1) は, x=2n-1 なら 0, そうでなければ非0

これを皮切りに、めくるめくコードの世界が展開されていきます。富豪的プログラミングとは対極にある神秘の呪文の世界に魅せられたら抜けられなくなるかも? 眠くなるまでちょっと読む、とか、トイレでちょっと読むのに最適。現代魔法の匂いを感じたい方にお薦め。