How to Count (Programming for Mere Mortals Book 1)
Format: PDF / Kindle (mobi) / ePub
"Programming for Mere Mortals" is a series of books designed to introduce the concepts of programming from the ground up to a reader who has never written a line of code.
Unlike most programming books which aim to teach you a particular language or operating system, this series focuses on the core fundamentals that are common to programming any computer.
In a laid-back, conversational tone, "How to Count" introduces you to math topics that are essential to becoming a successful programmer, including:
- Numeric bases (decimal, binary, hexadecimal)
- Signed vs. unsigned numbers
- Floating point and fixed point arithmetic
This short, easily understood book will quickly get you thinking like a programmer.
Steven Frank has been a professional programmer since 1994, and co-founded the well-known Mac software company Panic, Inc.
basics when all there was to learn was the basics. As I grew, so did the industry. Personal computers sprouted graphical windowed interfaces, modems, and eventually internet connectivity. I had no choice but to learn the stack of knowledge layer by layer starting from the bottom, simply because it grew up around me. Thanks to that ground floor understanding, it was easier for me to place new concepts in orbit around what I already knew than it would be for someone who hadn’t had the same
so on. You can fake varying degrees of precision just by reading the same bit patterns differently. You could have a 16-bit number with 4 bits dedicated to the fractional part. Or a 32-bit number with 8 bits dedicated to the fraction. Or whatever you like. The only questions you’ll need to ask yourself are: 1. What is the largest number you’ll need to represent, and do you have enough bits to hold it? 2. How precise do your fractions need to be, and are there enough bits left over to achieve
run-up. My hope is this experience gives me a somewhat unique perspective to pass along this core knowledge to you. You can learn about computers and programming from the bottom up, like I did. A note on math There’s a widely believed myth that you must be an expert in mathematics to be a programmer. Although it doesn’t hurt, it’s not strictly true. It’s true for very high-level computer science topics. Comparatively few programmers exist in this realm. Those who do tend to solve these
ten, because we’re used to decimal. But that’s the decimal value two expressed in binary. Let’s keep counting: 11 There’s the decimal value three, but we’ve run out of symbols again. Same old odometer story: increase the digit to the left by 1, and wrap the 1s back around to 0: 100 101 110 111 Can you guess the next number? 1000 The binary number 1000 is the same value as the decimal number 8. It looks like “one thousand” to us, because we want to think in decimal, and it just so happens
starting to see a pattern here. There’s more than one way to represent any particular numeric value. It just depends on how many symbols are available to you. We’ve covered good old decimal (base 10), and binary (base 2) which has much fewer symbols. What about a numeric base with more than our beloved decimal’s 10 symbols? One that comes up frequently in programming is hexadecimal, or base 16. The first ten symbols used in hexadecimal (or “hex” for short) are exactly the same as those used in