Hacker's Delight 初版 (2002) | |
| 著者 | ヘンリー・S・ウォーレン・ジュニア |
|---|---|
| 言語 | 英語 |
| 出版社 | アディソン・ウェズリー・プロフェッショナル |
発行日 | 2002 |
| 出版地 | アメリカ合衆国 |
| ページ | 306 (初版)、494 (第2版) |
| 番号 | 0201914654(第2版0321842685) |
| LCクラス | QA76.6.W375 |
Hacker's Delightは、2002 年に初めて出版された Henry S. Warren, Jr. によるソフトウェア アルゴリズムの本です。ビットのカウントや乗算を使用した除算の速度向上など、一般的なタスクのための高速なビットレベルおよび低レベルの算術アルゴリズムが紹介されています。
背景
著者はIBMの研究者で、 IBM 704からPowerPCまで幅広いシステムに携わっていました[1]。彼はキャリアを通じて「プログラミングの秘訣」と呼ばれるものを収集しました。これらの秘訣は、ビット文字列と数値の効率的な低レベル操作に関するものです。Guy L. Steeleによるこの本の序文によると、対象読者にはコンパイラ作成者や高性能コードを作成する人々が含まれています。
まとめ
プログラミングの例は、 PowerPCに似ているが同一ではないRISCアーキテクチャ用にCとアセンブラで記述されています。アルゴリズムは任意のビット数の式として提供されますが、例は通常 32 ビット用です。
序論を除いて、各章は互いに独立しており、それぞれ特定の主題に焦点を当てています。この本のアルゴリズムの多くは、2 の補数の整数に依存しています。
本書第2版[1]の主題には、
- 個々のビットを操作するための基本的なアルゴリズム、恒等式、不等式、算術演算およびシフトのオーバーフロー検出の公式
- 既知の2の累乗の倍数、次の2の累乗、および演算が2の累乗の境界を越えたかどうかを検出するために切り上げたり切り下げたりする
- 境界の確認
- 合計、先頭ゼロ、末尾ゼロを数える
- ビット文字列の検索
- 単語内のビットとバイトの順列
- 乗算のソフトウェアアルゴリズム
- 整数除算
- 除数がわかっている場合の効率的な整数除算と剰余の計算
- 整数の平方根と立方根
- 基数-2を含む珍しい数体系
- 浮動小数点と整数間の値の転送
- 巡回冗長検査、誤り訂正符号、グレイコード
- ヒルベルト曲線とその応用に関する議論
スタイル
形式は非公式の数学教科書のものです。公式が頻繁に使用されています。いくつかのわかりにくいアルゴリズムについては数学的な証明が示されていますが、それが本書の焦点ではありません。
受付
全体的な反応は概ね好意的であった。[2] [3]
出版履歴
この本はAddison-Wesley Professionalから出版されました。第1版は2002年に発売され[4]、第2版は2013年に発売されました。 [1] この本の日本語版は、SIBaccess Co. Ltd.から2004年に出版されました。
参照
参考文献
- ^ abc ウォーレン、ヘンリー・S・ジュニア(2013年)。Hacker's Delight(第2版)。アディソン・ウェズリー-ピアソン・エデュケーション社。ISBN 978-0-321-84268-8。
- ^ Baxter, Michael (2003-04-01). 「Hacker's Delight」. レビュー. Linux Journal . 2020-09-27時点のオリジナルよりアーカイブ。2021-08-28閲覧。
- ^ Maxfield, Clive "Max" (2012-04-05). 「書評: Engineer's Bookshelf - Hacker's Delight by Henry S. Warren, Jr.」EE Times。 2017-04-02 にオリジナルからアーカイブ。2017-04-02に取得。
- ^ ウォーレン、ヘンリー S. ジュニア (2002)。Hacker 's Delight (第 1 版)。Addison Wesley。ISBN 978-0-201-91465-8。
さらに読む
- Beeler, Michael; Gosper, Ralph William ; Schroeppel, Richard C. (1995年4月) [1972-02-29]. 「人工知能メモ No. 239」. Baker, Henry Givens Jr. (編). HAKMEM (再入力および変換版). マサチューセッツ州ケンブリッジ、米国:マサチューセッツ工科大学(MIT)人工知能研究所。2019-10-08 にオリジナルからアーカイブ。2016-01-02に取得。
- Jones, Douglas W. (2014-09-10) [1999]. 「算術チュートリアル」. アイオワ州アイオワシティ、米国:アイオワ大学、コンピュータサイエンス学部。 2019-07-10 にオリジナルからアーカイブ。2016-01-03に取得。
- Cowlishaw, Mike F. (2015) [1981, 2008]. 「一般十進数演算」。2019年11月2日時点のオリジナルよりアーカイブ。 2016年1月2日閲覧。
- Ingenoso, Tony (1999-02-03) [1998]. 「第 11 章 - C およびアセンブラ コードのその他のトリック」. コードの動作を改善する - 80x86 コードのサイズを最小限に抑え、場合によっては高速化する方法 (電子書籍)。2019 年 11 月 18 日にオリジナルからアーカイブ。2019年 11 月 18 日に取得。
- アンダーソン、ショーン・エロン編 (2009-11-26) [1997]。「Bit Twiddling Hacks」。スタンフォード大学。2020-06-01にオリジナルからアーカイブ。2020-06-01に取得。
外部リンク
- Hacker's Delight ウェブサイトのアーカイブ
