Хакерское наслаждение
![]() Хакерское наслаждение, первое издание (2002 г.) | |
Автор | Генри С. Уоррен-младший |
---|---|
Язык | Английский |
Издатель | Эддисон-Уэсли Профессионал |
Дата публикации | 2002 |
Место публикации | Соединенные Штаты |
Страницы | 306 (первое издание) , 494 (второе издание) |
ISBN | 0201914654 (Второе издание) 0321842685 ) |
Класс ЛК | QA76.6.W375 |
«Наслаждение хакера» — это книга Генри С. Уоррена-младшего по программным алгоритмам, впервые опубликованная в 2002 году. В ней представлены быстрые на битовом и низкоуровневом уровне арифметические алгоритмы для общих задач, таких как подсчет битов или повышение скорости деления с помощью умножения.
Фон
[ редактировать ]Автор, исследователь IBM, работающий над системами от IBM 704 до PowerPC , [ 1 ] На протяжении своей карьеры он собирал то, что он называл «трюками программирования». Эти приемы касаются эффективных низкоуровневых манипуляций с битовыми строками и числами. Согласно предисловию к книге Гая Л. Стила , целевая аудитория включает в себя авторов компиляторов и людей, пишущих высокопроизводительный код.
Краткое содержание
[ редактировать ]Примеры программирования написаны на языке C и ассемблере для RISC -архитектуры, аналогичной, но не идентичной PowerPC . Алгоритмы приводятся в виде формул для любого количества бит, примеры обычно для 32 бит.
За исключением введения, главы независимы друг от друга, каждая из которых посвящена определенной теме. Многие алгоритмы в книге основаны на целых числах с дополнением до двух .
Тематика второго издания книги. [ 1 ] включает алгоритмы для
- Базовые алгоритмы манипуляций с отдельными битами, формулы тождеств, неравенств, обнаружения переполнения при арифметических операциях и сдвигах.
- Округление вверх и вниз до числа, кратного известной степени 2, следующей степени 2 и для определения того, пересекает ли операция границу степени 2.
- Проверка границ
- Подсчет суммы , ведущих и конечных нулей
- Поиск битовых строк
- Перестановки битов и байтов в слове
- Программные алгоритмы умножения
- Целочисленное деление
- Эффективное целочисленное деление и вычисление остатка, когда делитель известен.
- Целочисленные квадратные и кубические корни
- Необычные системы счисления, включая основание -2.
- Передача значений между плавающей запятой и целым числом
- Циклический избыточный код , коды с исправлением ошибок и коды Грея.
- Кривые Гильберта , включая обсуждение приложений
Стиль
[ редактировать ]Стиль — стиль неформального учебника по математике. Формулы используются широко. Приводятся математические доказательства некоторых неочевидных алгоритмов, но они не являются целью книги.
Прием
[ редактировать ]Общий прием был в целом положительным. [ 2 ] [ 3 ]
История публикаций
[ редактировать ]Книга была опубликована издательством Addison-Wesley Professional . Первое издание вышло в 2002 году. [ 4 ] и второй в 2013 году. [ 1 ]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б с Уоррен младший, Генри С. (2013). Хакерское наслаждение (2-е изд.). Аддисон Уэсли - Pearson Education, Inc. ISBN 978-0-321-84268-8 .
- ^ Бакстер, Майкл (1 апреля 2003 г.). «Хакерское удовольствие» . Отзывы. Linux-журнал . Архивировано из оригинала 27 сентября 2020 г. Проверено 28 августа 2021 г.
- ^ Максфилд, Клайв «Макс» (5 апреля 2012 г.). «Рецензия на книгу Генри С. Уоррена-младшего: Книжная полка инженера - радость хакера» . ЭЭ Таймс . Архивировано из оригинала 02 апреля 2017 г. Проверено 2 апреля 2017 г.
- ^ Уоррен младший, Генри С. (2002). Хакерское наслаждение (1-е изд.). Эддисон Уэсли . ISBN 978-0-201-91465-8 .
Дальнейшее чтение
[ редактировать ]- Билер, Майкл; Госпер, Ральф Уильям ; Шреппель, Ричард К. (апрель 1995 г.) [29 февраля 1972 г.]. «Памятка по искусственному интеллекту № 239» . В Бейкере, Генри Гивенс-младший (ред.). ХАКМЕМ (перепечатанное и преобразованное издание). Кембридж, Массачусетс, США: Лаборатория искусственного интеллекта Массачусетского технологического института (MIT). Архивировано из оригинала 08.10.2019 . Проверено 2 января 2016 г.
- Джонс, Дуглас В. (10 сентября 2014 г.) [1999]. «Уроки арифметики» . Айова-Сити, Айова, США: Университет Айовы, факультет компьютерных наук. Архивировано из оригинала 10 июля 2019 г. Проверено 03 января 2016 г.
- Коулишоу, Майк Ф. (2015) [1981, 2008]. «Общая десятичная арифметика» . Архивировано из оригинала 02.11.2019 . Проверено 2 января 2016 г.
- Ингеносо, Тони (3 февраля 1999 г.) [1998]. «Глава 11. Еще больше хитростей в коде C и ассемблере». Улучшение работы кода — Как минимизировать размер кода 80x86 и иногда сделать его быстрее (электронная книга). Архивировано из оригинала 18 ноября 2019 г. Проверено 18 ноября 2019 г.
- Андерсон, Шон Эрон, изд. (26 ноября 2009 г.) [1997]. «Битл-хаки» . Стэнфордский университет . Архивировано из оригинала 01 июня 2020 г. Проверено 01 июня 2020 г.