A collection useful programming advice the author has
collected over the years; small algorithms that make the
programmer's task easier. http://www.dropshippers.co.za/
- At long last, proven short-cuts to mastering difficult aspects
of computer programming
- Learn to program at a more advanced level than is generally
taught in schools and training courses, and much more advanced than
can be learned through individual study/experience.
- An instant cult classic for programmers!
http://www.dropshippers.co.za/
Computer programmers are often referred to as hackers --
solitary problem solvers engrossed in a world of code as they seek
elegant solutions to building better software. While many view
these unique individuals as "madmen," 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 collected wisdom -- namely tips and tricks -- from his
considerable experience in the world of application development.
The resulting work is an irresistible collection that will help
even the most seasoned programmers better their craft. http://www.dropshippers.co.za/
Henry S. Warren Jr. has had a 40-year career
with IBM, spanning the computer field from the IBM 704 to PowerPC.
He has worked on various military command and control systems, and
on the SETL project under Jack Schwartz at NYU. Since 1973 he has
been in IBM's Research Division at Yorktown Heights, New York. Here
he has done compiler and computer architecture work on the 801
computer and its several variants through PowerPC. Presently he is
working on the Blue Gene petaflop computer project. He received his
Ph.D. in Computer Science from the Courant Institute at New York
University in 1980. http://www.dropshippers.co.za/
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.
http://www.dropshippers.co.za/
11. Some Elementary Functions.
Integer Square Root.Integer Cube Root.Integer
Exponentiation.Integer Logarithm.
12. Unusual Bases for Number Systems.
Base -2.Base -1
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
Hacker's Delight descriptions were created by Hacker's Delight wholesale priced dropshippers.