More on this book
Community
Kindle Notes & Highlights
Read between
June 9 - July 7, 2018
“Listen, my children, and you shall hear / Of the midnight ride of Paul Revere,” wrote Henry Wadsworth Longfellow,
The flip side of this is that any information that can be reduced to a choice among two or more possibilities can be expressed using bits. Needless to say, there are plenty of forms of human communication that do not represent choices among discrete possibilities and that are also vital to our existence. This is why people don’t form romantic relationships with computers. (Let’s hope they don’t, anyway.) If you can’t express something in words, pictures, or sounds, you’re not going to be able to encode the information in bits. Nor would you want to.
“What about 111?” you may ask. Well, that code doesn’t mean anything. It’s not defined. If the binary code 111 were used to represent a Maltin rating, you’d know that a mistake was made. (Probably a computer made the mistake because people never do.)
Using Boolean algebra might seem like overkill for proving the obvious fact (particularly considering that Socrates proved himself mortal 2400 years ago), but Boolean algebra can also be used to determine whether something satisfies a certain set of criteria.
We’re ready to use these tables to calculate the result of the expression (1 x 0 x 1) + (0 x 0 x 1) + 0 = 0 + 0 + 0 = 0 The result 0 means No, False, this kitty won’t do.
Later that evening, when the kitten is curled up sleeping in your lap, you wonder whether you could have wired some switches and a lightbulb to help you determine whether particular kittens satisfied your criteria. (Yes, you are a strange kid.)
If you look at how this circuit works, a carry output from the least-significant pair of numbers is required for the next pair to be added, and a carry output from the second pair is required for the third pair to be added, and so forth. The total speed of the adder is equal to the number of bits times the speed of the Full Adder component. This is called a ripple carry. Faster adders use additional circuitry called a look-ahead carry that speeds up this process.
Subtracting a number from a string of 9s results in a number called the nines’ complement. The nines’ complement of 176 is 823.
The final row of the table indicates that a situation in which the S and R inputs are both 1 is disallowed or illegal. This doesn’t mean you’ll get arrested for doing it, but if both inputs are 1 in this circuit, both outputs are 0, which violates the notion of being the opposite of Q.
This circuit is called a level-triggered D-type flip-flop. The D stands for Data. Level-triggered means that the flip-flop saves the value of the Data input when the Hold That Bit input is at a particular level, in this case 1.
What you don’t say is that a 1-KB RAM array stores 1000 bytes, or (in English) “one thousand bytes.” It’s more than a thousand—it’s 1024. To sound like you know what you’re talking about, you say either “1K” or “one kilobyte.”
People, of course, speak in shorthand. Somebody who has 65,536 bytes of memory will say, “I have 64K (and I’m a visitor from the year 1980).” Somebody who has 33,554,432 bytes will say, “I have 32 megs.” That rare person who has 1,073,741,824 bytes of memory will say, “I’ve got a gig (and I’m not talking music).”
Why 64 KB? Why not 32 KB or 128 KB? Because 65,536 is a nice round number. It’s 216. This RAM array has a 16-bit address. In other words, the address is 2 bytes exactly.