The Fictioning Horror Sale
 
 

Recently Viewed clear list



spacer
$54.66
New Hardcover
Ships from International Warehouse (read more)
Add to Wishlist
available for shipping only
Not available for In-store Pickup
Qty Store Section
1 International Warehouse Software Engineering- Algorithms

This title in other editions

Hacker's Delight

by

Hacker's Delight Cover

 

  1. This particular item is stocked in an International Warehouse and will ship separately from other items in your shopping cart.

Synopses & Reviews

Publisher Comments:

"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

"When I first saw the title, I figured that the book must be either a cookbook for breaking into computers (unlikely) or some sort of compendium of little programming tricks. It's the latter, but it's thorough, almost encyclopedic, in its coverage." --Guy Steele

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.

Topics covered include:

  • 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!

This book is for anyone who wants to create efficient code. Hacker's Delight will help you learn to program at a higher level--well beyond what is generally taught in schools and training courses--and will advance you substantially further than is possible through ordinary self-study alone.

0201914654B06272002

Book News Annotation:

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.
Annotation c. Book News, Inc., Portland, OR (booknews.com)

Synopsis:

"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

"When I first saw the title, I figured that the book must be either a cookbook for breaking into computers (unlikely) or some sort of compendium of little programming tricks. It's the latter, but it's thorough, almost encyclopedic, in its coverage." --Guy Steele

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.

Topics covered include:

  • 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!

This book is for anyone who wants to create efficient code. Hacker's Delight will help you learn to program at a higher level--well beyond what is generally taught in schools and training courses--and will advance you substantially further than is possible through ordinary self-study alone.

0201914654B06272002

About the Author

Henry S. Warren, Jr., has had a forty-year career with IBM, spanning from the IBM 704 to the PowerPC. He has worked on various military command and control systems and on the SETL project under Jack Schwartz at New York University. Since 1973 he has been with IBM's Research Division, focusing on compilers and computer architectures. Hank currently works on the Blue Gene petaflop computer project. He received his Ph.D. in computer science from the Courant Institute at New York University.

0201914654AB06272002

Table of Contents

Preface.

1. Introduction.

Notation.

Instruction Set and Execution Time Model.

2. Basis.

Manipulating Rightmost Bits.

Addition Combined with Logical Operations.

Inequalities among Logical and Arithmetic Expressions.

Absolute Value Function.

Sign Extension.

Shift Right Signed from Unsigned.

Sign Function.

Three-Valued Compare.

Transfer of Sign.

Decoding a “Zero Means 2**n” Field.

Comparison Predicates.

Overflow Detection.

Condition Code Result of Add, Subtract, and Multiply.

Rotate Shifts.

Double-Length Add/Subtract.

Double-Length Shifts.

Multibyte Add, Subtract, Absolute Value.

Doz, Max, Min.

Exchanging Registers.

Alternating among Two or More Values.

3. Power-of-2 Boundaries.

Rounding Up/Down to a Multiple of a Known Power of 2.

Rounding Up/Down to the Next Power of 2.

Detecting a Power-of-2 Boundary Crossing.

4. Arithmetic Bounds.

Checking Bounds of Integers.

Propagating Bounds through Adds and Subtracts.

Propagating Bounds through Logical Operations.

Signed Bounds.

5. Counting Bits.

Counting 1-bits.

Parity.

Counting Leading 0's.

Counting Trailing 0's.

6. Searching Words.

Find First 0-Byte.

Find First String of 1-Bits of a Given Length.

7. Rearranging Bits and Bytes.

Reversing Bits and Bytes.

Shuffling Bits.

Transposing a Bit Matrix.

Compress, or Generalized Extract.

General Permutations, Sheep and Goats Operation.

Rearrangements and Index Transformations.

8. Multiplication.

Multiword Multiplication.

High-Order Half of 64-Bit Product.

High-Order Product Signed from/to Unsigned.

Multiplication by Constants.

9. Integer Division.

Preliminaries.

Multiword Division.

Unsigned Short Division from Signed Division.

Unsigned Long Division.

10. Integer Division by Constants.

Signed Division by a Known Power of 2.

Signed Remainder from Division by a Known Power of 2.

Signed Division and Remainder by Non-powers of 2.

Signed Division by Divisors >= 2.

Signed Division by Divisors #= -2.

Incorporation into a Compiler.

Miscellaneous Topics.

Unsigned Division.

Unsigned Division by Divisors >= 1.

Incorporation into a Compiler (Unsigned).

Miscellaneous Topics (Unsigned).

Applicability to Modulus and Floor Division.

Similar Methods.

Sample Magic Numbers.

Exact Division by Constants.

Test for Zero Remainder after Division by a Constant.

11. Some Elementary Functions.

Integer Square Root.

Integer Cube Root.

Integer Exponentiation.

Integer Logarithm.

12. Unusual Bases for Number Systems.

Base -2.

Base -1 + i.

Other Bases.

What is the Most Efficient Base?

13. Gray Code.

Gray Code.

Incrementing a Gray Coded Integer.

Negabinary Gray Code.

Brief History and Applications.

14. Hilbert's Curve.

A Recursive Algorithm for Generating the Hilbert Curve.

Coordinates from Distance along the Hilbert Curve.

Distance from Coordinates on the Hilbert Curve.

Incrementing the Coordinates on the Hilbert Curve.

Non-recursive Generating Algorithms.

Other Space-Filling Curves.

Applications.

15. Floating-Point.

IEEE Format.

Comparing Floating-Point Numbers Using Integer Operations.

The Distribution of Leading Digits.

Table of Miscellaneous Values.

16. Formulas for Primes.

Introduction.

Willans's Formulas.

Wormell's Formula.

Formulas for Other Difficult Functions.

Appendix A. Arithmetic Tables for a 4-Bit Machine.

Appendix B. Newton's Method.

Bibliography.

Index. 0201914654T08282002

Product Details

ISBN:
9780201914658
Foreword:
Steele, Guy L., Jr.
Author:
Steele, Guy L., Jr.
Foreword by:
Steele, Guy L., Jr.
Foreword:
Steele, Guy L., Jr.
Author:
Warren, Henry S., Jr.
Publisher:
Addison-Wesley Professional
Location:
Boston
Subject:
Computer Science
Subject:
Programming - General
Subject:
Computer programming
Subject:
Computer hackers
Subject:
Programming - Algorithms
Subject:
Programming - Systems Analysis & Design
Subject:
Software Engineering-Algorithms
Copyright:
Series Volume:
no. 10
Publication Date:
July 2002
Binding:
Hardback
Grade Level:
Professional and scholarly
Language:
English
Illustrations:
Yes
Pages:
320
Dimensions:
9.56x6.30x.79 in. 1.25 lbs.

Other books you might like

  1. The Software Architect's Profession:... Used Trade Paper $6.95
  2. Fundamentals of Software Engineering... Used Hardcover $134.00
  3. The Thinking Manager's Toolbox Used Hardcover $27.00
  4. Expert C Programming
    New Trade Paper $43.75
  5. How Not to Write a Screenplay Used Trade Paper $4.95
  6. The Emperor's Handbook: A New... Used Hardcover $12.00

Related Subjects

Computers and Internet » Computers Reference » General
Computers and Internet » Personal Computers » General
Computers and Internet » Software Engineering » Algorithms
Computers and Internet » Software Engineering » General

Hacker's Delight New Hardcover
0 stars - 0 reviews
$54.66 In Stock
Product details 320 pages Addison-Wesley Professional - English 9780201914658 Reviews:
"Synopsis" by ,

"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

"When I first saw the title, I figured that the book must be either a cookbook for breaking into computers (unlikely) or some sort of compendium of little programming tricks. It's the latter, but it's thorough, almost encyclopedic, in its coverage." --Guy Steele

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.

Topics covered include:

  • 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!

This book is for anyone who wants to create efficient code. Hacker's Delight will help you learn to program at a higher level--well beyond what is generally taught in schools and training courses--and will advance you substantially further than is possible through ordinary self-study alone.

0201914654B06272002

spacer
spacer
  • back to top
Follow us on...




Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.