3: From Binary To GUIs. Part 1.
Take Up Code - Podcast autorstwa Take Up Code: build your own computer games, apps, and robotics with podcasts and live classes
Kategorie:
You’ve probably heard that computers only understand zeros and ones. So how does a computer go from zeros and ones to colorful graphical interfaces with buttons and web browsers? This is part one of two episodes that explain this. This episode is focused on a computer’s memory and how that is composed of bits and bytes. It also covers the binary number system by comparing binary with our normal decimal number system. Some of the number system topics are a bit tedious to explain in just words so here are several place values written for you. In the tables below, the column headings show how the place value for each column is calculated. You’re probably very familiar with the place value system that you learned in grade school but you might not have realized that there is a pattern. This is not just some set of values that you had to memorize. Each column header shows the base raised to a power. That’s what the superscript shows – raising a number to a power. All this really means is that a number (the base) is multiplied by itself a certain number of times (the power). So for example, 103 means 10 times 10 times 10. The column that needs the most explanation is the one on the right. This is the ones. And this column will always be the ones in any number system. That’s because any number raised to the power of zero is always one. Base 10 place values (Decimal) 107 106 105 104 103 102 101 100 10,000,000 1,000,000 100,000 10,000 1,000 100 10 1 Base 2 place values (Binary) 27 26 25 24 23 22 21 20 128 64 32 16 8 4 2 1 Counting in Base 10 and Base 2 Decimal Binary 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 Listen to the full episode or read the full transcript below. Transcript Computers have many components and we’re going to focus on just two of those, the memory and the microprocessor. We’re also going to simplify things quite a bit. There’s a lot to cover so this topic will be split between 2 podcasts. This podcast will explain the memory. Let’s start with the memory and give our computer 1000 bytes of RAM and 1000 bytes of ROM. I’m going to warn you that we’ll need cover just a little math here but not too much. You need to understand the concept of a byte in order to understand the range of values that a byte can hold. I’ll explain what a byte is in just a moment. The math is nothing complicated and is really just a different way of counting. RAM stands for random access memory and that means that we can go directly to any specific byte in memory and either read its current value or write a new value. Each byte of memory will have a unique address sort of like a house that has a mailing address that is different from the other houses. The only difference is that you never have to worry about a mail carrier mixing up the addresses. Each address is sequential. One right after the other and the starting address is determined by how the computer is built. The memory will remember whatever value was last written to it until the computer loses power. But what if we haven’t written anything to a particular address? In that case, it will contain a random value. ROM stands for read only memory and while we can also go directly to any specific address and read its value, we cannot normally change the value. But ROM has one very important difference because it will remember its values even when there is no power. And I mean no power at all, not even a battery. It’s possible to write values to ROM memory but that’s a special process and not something that our computer will be able to do. This means that the values in ROM will need to be written once when the computer is built and will not need to be changed after that. So we have 1000 bytes of memory that we can read and write and another 1000 bytes that can we can only read. But what’s a byte? Here’s where we get into the math. At the most funda