چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Hacker's Delight (2nd Edition)

Sarah J Maas، Henry S. Warren, Henry S. Warren Jr

قیمت نهایی

۴۴٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۰٪ تخفیف
  • تخفیف زمان‌دار−۵٬۰۰۰ تومان

۵٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۲۰۱۲
فرمت
PDF
زبان
انگلیسی
حجم فایل
۱۰٫۲ مگابایت
شابک
9781408857915، 9781526634269، 9781619634497، 9781635575590، 9781635575606، 140885791X، 1526634260، 161963449X، 1635575591، 1635575605، 9780133084993، 9780133085006، 9780133085013، 9780321842688، 9785845918383، 013308499X، 0133085007، 0133085015، 0321842685، 5845918383

دربارهٔ کتاب

__"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 (Praise for the first edition) In **__Hacker’s Delight, Second Edition__,** Hank Warren once again compiles an irresistible collection of programming hacks: timesaving techniques, algorithms, and tricks that help programmers build more elegant and efficient software, while also gaining deeper insights into their craft. Warren’s hacks are eminently practical, but they’re also intrinsically interesting, and sometimes unexpected, much like the solution to a great puzzle. They are, in a word, a delight to any programmer who is excited by the opportunity to improve. **Extensive additions in this edition include** * A new chapter on cyclic redundancy checking (CRC), including routines for the commonly used CRC-32 code * A new chapter on error correcting codes (ECC), including routines for the Hamming code * More coverage of integer division by constants, including methods using only shifts and adds * Computing remainders without computing a quotient * More coverage of population count and counting leading zeros * Array population count * New algorithms for compress and expand * An LRU algorithm * Floating-point to/from integer conversions * Approximate floating-point reciprocal square root routine * A gallery of graphs of discrete functions * Now with exercises and answers Cover Title Page Copyright Page Contents Foreword Preface CHAPTER 1. INTRODUCTION 1–1 Notation 1–2 Instruction Set and Execution Time Model CHAPTER 2. BASICS 2–1 Manipulating Rightmost Bits 2–2 Addition Combined with Logical Operations 2–3 Inequalities among Logical and Arithmetic Expressions 2–4 Absolute Value Function 2–5 Average of Two Integers 2–6 Sign Extension 2–7 Shift Right Signed from Unsigned 2–8 Sign Function 2–9 Three-Valued Compare Function 2–10 Transfer of Sign Function 2–11 Decoding a “Zero Means 2[sup(n)]" Field 2–12 Comparison Predicates 2–13 Overflow Detection 2–14 Condition Code Result of Add, Subtract, and Multiply 2–15 Rotate Shifts 2–16 Double-Length Add/Subtract 2–17 Double-Length Shifts 2–18 Multibyte Add, Subtract, Absolute Value 2–19 Doz, Max, Min 2–20 Exchanging Registers 2–21 Alternating among Two or More Values 2–22 A Boolean Decomposition Formula 2–23 Implementing Instructions for all 16 Binary Boolean Operations CHAPTER 3. POWER-OF-2 BOUNDARIES 3–1 Rounding Up/Down to a Multiple of a Known Power of 2 3–2 Rounding Up/Down to the Next Power of 2 3–3 Detecting a Power-of-2 Boundary Crossing CHAPTER 4. ARITHMETIC BOUNDS 4–1 Checking Bounds of Integers 4–2 Propagating Bounds through Add’s and Subtract’s 4–3 Propagating Bounds through Logical Operations CHAPTER 5. COUNTING BITS 5–1 Counting 1-Bits 5–2 Parity 5–3 Counting Leading 0’s 5–4 Counting Trailing 0’s CHAPTER 6. SEARCHING WORDS 6–1 Find First 0-Byte 6–2 Find First String of 1-Bits of a Given Length 6–3 Find Longest String of 1-Bits 6–4 Find Shortest String of 1-Bits CHAPTER 7. REARRANGING BITS AND BYTES 7–1 Reversing Bits and Bytes 7–2 Shuffling Bits 7–3 Transposing a Bit Matrix 7–4 Compress, or Generalized Extract 7–5 Expand, or Generalized Insert 7–6 Hardware Algorithms for Compress and Expand 7–7 General Permutations, Sheep and Goats Operation 7–8 Rearrangements and Index Transformations 7–9 An LRU Algorithm CHAPTER 8. MULTIPLICATION 8–1 Multiword Multiplication 8–2 High-Order Half of 64-Bit Product 8–3 High-Order Product Signed from/to Unsigned 8–4 Multiplication by Constants CHAPTER 9. INTEGER DIVISION 9–1 Preliminaries 9–2 Multiword Division 9–3 Unsigned Short Division from Signed Division 9–4 Unsigned Long Division 9–5 Doubleword Division from Long Division CHAPTER 10. INTEGER DIVISION BY CONSTANTS 10–1 Signed Division by a Known Power of 2 10–2 Signed Remainder from Division by a Known Power of 2 10–3 Signed Division and Remainder by Non-Powers of 2 10–4 Signed Division by Divisors ≥ 2 10–5 Signed Division by Divisors ɮ –2 10–6 Incorporation into a Compiler 10–7 Miscellaneous 10–8 Unsigned Division 10–9 Unsigned Division by Divisors ≥ 1 10–10 Incorporation into a Compiler (Unsigned) 10–11 Miscellaneous Topics (Unsigned) 10–12 Applicability to Modulus and Floor Division 10–13 Similar Methods 10–14 Sample Magic Numbers 10–15 Simple Code in Python 10–16 Exact Division by Constants 10–17 Test for Zero Remainder after Division by a Constant 10–18 Methods Not Using Multiply High 10–19 Remainder by Summing Digits 10–20 Remainder by Multiplication and Shifting Right 10–21 Converting to Exact Division 10–22 A Timing Test 10–23 A Circuit for Dividing by 3 CHAPTER 11. SOME ELEMENTARY FUNCTIONS 11–1 Integer Square Root 11–2 Integer Cube Root 11–3 Integer Exponentiation 11–4 Integer Logarithm CHAPTER 12. UNUSUAL BASES FOR NUMBER SYSTEMS 12–1 Base –2 12–2 Base –1 + i 12–3 Other Bases 12–4 What Is the Most Efficient Base? CHAPTER 13. GRAY CODE 13–1 Gray Code 13–2 Incrementing a Gray-Coded Integer 13–3 Negabinary Gray Code 13–4 Brief History and Applications CHAPTER 14. CYCLIC REDUNDANCY CHECK 14–1 Introduction 14–2 Theory 14–3 Practice CHAPTER 15. ERROR-CORRECTING CODES 15–1 Introduction 15–2 The Hamming Code 15–3 Software for SEC-DED on 32 Information Bits 15–4 Error Correction Considered More Generally CHAPTER 16. HILBERT’S CURVE 16–1 A Recursive Algorithm for Generating the Hilbert Curve 16–2 Coordinates from Distance along the Hilbert Curve 16–3 Distance from Coordinates on the Hilbert Curve 16–4 Incrementing the Coordinates on the Hilbert Curve 16–5 Non-Recursive Generating Algorithms 16–6 Other Space-Filling Curves 16–7 Applications CHAPTER 17. FLOATING-POINT 17–1 IEEE Format 17–2 Floating-Point To/From Integer Conversions 17–3 Comparing Floating-Point Numbers Using Integer Operations 17–4 An Approximate Reciprocal Square Root Routine 17–5 The Distribution of Leading Digits 17–6 Table of Miscellaneous Values CHAPTER 18. FORMULAS FOR PRIMES 18–1 Introduction 18–2 Willans’s Formulas 18–3 Wormell’s Formula 18–4 Formulas for Other Difficult Functions ANSWERS TO EXERCISES APPENDIX A. ARITHMETIC TABLES FOR A 4-BIT MACHINE APPENDIX B. NEWTON’S METHOD APPENDIX C. A GALLERY OF GRAPHS OF DISCRETE FUNCTIONS C–1 Plots of Logical Operations on Integers C–2 Plots of Addition, Subtraction, and Multiplication C–3 Plots of Functions Involving Division C–4 Plots of the Compress, SAG, and Rotate Left Functions C–5 2D Plots of Some Unary Functions Bibliography Index A B C D E F G H I K L M N O P Q R S T U V W Z

In Hacker’s Delight, Second Edition, Hank Warren once again compiles an irresistible collection of programming hacks: timesaving techniques, algorithms, and tricks that help programmers build more elegant and efficient software, while also gaining deeper insights into their craft. Warren’s hacks are eminently practical, but they’re also intrinsically interesting, and sometimes unexpected, much like the solution to a great puzzle. They are, in a word, a delight to any programmer who is excited by the opportunity to improve.

Extensive additions in this edition include

  • A new chapter on cyclic redundancy checking (CRC), including routines for the commonly used CRC-32 code
  • A new chapter on error correcting codes (ECC), including routines for the Hamming code
  • More coverage of integer division by constants, including methods using only shifts and adds
  • Computing remainders without computing a quotient
  • More coverage of population count and counting leading zeros
  • Array population count
  • New algorithms for compress and expand
  • An LRU algorithm
  • Floating-point to/from integer conversions
  • Approximate floating-point reciprocal square root routine
  • A gallery of graphs of discrete functions
  • Now with exercises and answers
"This is a collection of small programming tricks that I have come across over many years. Most of them will work only on computers that represent integers in two's-complement form. Although a 32-bit machine is assumed when register length is relevant, most of the tricks are easily adapted to machines with other register sizes." "This book does not deal with large tricks such as sophisticated sorting and compiler optimization techniques. Rather, it deals with small tricks that usually involve individual computer words or instructions, such as counting the number of 1-bits in a word. Such tricks often use a mixture of arithmetic and logical instructions." -- From the preface. Compiles programming hacks intended to help computer programmers build more efficient software, in an updated edition that covers cyclic redundancy checking and new algorithms and that includes exercises with answers

قیمت نهایی

۴۴٬۰۰۰ تومان