PWP wiki processor

diginotes1

| StartPage | WikiPages | AdditionalFiles |

Introduction to Digital Data

Introduction to Digital Data

Computers use numbers to represent data within the computer system. This seems obvious for applications like spreadsheets which work mainly in numbers, however, everything inside the computer is a number.

Even inside devices like CD and DVD players and iPods (which are actually small, purpose built computers) all of the data is made up of longs strings of numbers. Even this page is just a series of numbers.

When you think of numbers, you, most likely think of Denary or Base 10 numbers. We normally call Denary numbers, Decimal numbers, and they are the number system we use every day. However, the computer uses a different number system called Binary. Binary is a Base 2 system and uses only the digits 1 and 0. We call these binary digits Bits. %

Decimal Numbers

The easiest way to understand bits is to compare them to something you know: digits. A digit is a single place that can hold numerical values between 0 and 9. Digits are normally combined together in groups to create larger numbers. For example, 6,357 has four digits. It is understood that in the number 6,357, the 7 is filling the "1s place" while the 5 is filling the 10s place, the 3 is filling the 100s place and the 6 is filling the 1,000s place. So you could express things this way if you wanted to be explicit:

(6 * 1000) + (3 * 100) + (5 * 10) + (7 * 1) = 6000 + 300 + 50 + 7 = 6357

Another way to express it would be to use powers of 10.

(6 * 103) + (3 * 102) + (5 * 101) + (7 * 100) = 6000 + 300 + 50 + 7 = 6357

What you can see from this expression is that each digit is a placeholder for the next higher power of 10, starting in the first digit with 10 raised to the power of zero.

That should all feel pretty comfortable -- we work with decimal digits every day. The neat thing about number systems is that there is nothing that forces you to have 10 different values in a digit. Our base-10 number system likely grew up because we have 10 fingers, but if we happened to evolve to have eight fingers instead, we would probably have a base-8 number system. You can have base-anything number systems. In fact, there are lots of good reasons to use different bases in different situations.

Bits

Computers happen to operate using the base-2 number system, also known as the binary number system (just like the base-10 number system is known as the decimal number system). The reason computers use the base-2 system is because it makes it a lot easier to implement them with current electronic technology. You could wire up and build computers that operate in base-10, but they would be fiendishly expensive right now. On the other hand, base-2 computers are relatively cheap.

So computers use binary numbers, and therefore use binary digits in place of decimal digits. The word bit is a shortening of the words "Binary digIT." Whereas decimal digits have 10 possible values ranging from 0 to 9, bits have only two possible values: 0 and 1. Therefore, a binary number is composed of only 0s and 1s, like this: 1011. How do you figure out what the value of the binary number 1011 is? You do it in the same way we did it above for 6357, but you use a base of 2 instead of a base of 10. So:

(1 * 23) + (0 * 22) + (1 * 21) + (1 * 20) = 8 + 0 + 2 + 1 = 11

You can see that in binary numbers, each bit holds the value of increasing powers of 2. That makes counting in binary pretty easy. Starting at zero and going through 20, counting in decimal and binary looks like this%3:

0 =     0
1 =     1
2 =    10
3 =    11
4 =   100
5 =   101
6 =   110
7 =   111
8 =  1000
9 =  1001
10 =  1010
11 =  1011
12 =  1100
13 =  1101
14 =  1110
15 =  1111
16 = 10000
17 = 10001
18 = 10010
19 = 10011
20 = 10100

When you look at this sequence, 0 and 1 are the same for decimal and binary number systems. At the number 2, you see carrying first take place in the binary system. If a bit is 1, and you add 1 to it%, the bit becomes 0 and the next bit becomes 1. In the transition from 15 to 16 this effect rolls over through 4 bits, turning 1111 into 10000.

Bytes

Bits are rarely seen alone in computers. They are almost always bundled together into 8-bit collections, and these collections are called bytes. Why are there 8 bits in a byte? A similar question is, "Why are there 12 eggs in a dozen?" The 8-bit byte is something that people settled on through trial and error over the past 50 years.

With 8 bits in a byte, you can represent 256 values ranging from 0 to 255, as shown here:

 0 = 00000000
 1 = 00000001
 2 = 00000010
  ...
 254 = 11111110
 255 = 11111111

Lots of Bytes

You might hear an advertisement that says, "This computer has a 32-bit Pentium processor with 256 megabytes of RAM and 200 gigabytes of hard disk space." In these notes, we will discuss bits and bytes so that you have a complete understanding.

When you start talking about lots of bytes, you get into prefixes like kilo, mega and giga, as in kilobyte, megabyte and gigabyte (also shortened to K, M and G, as in Kbytes, Mbytes and Gbytes or KB, MB and GB). The following table shows the multipliers:

NameAbbr.Size
KiloK210 = 1,024
MegaM220 = 1,048,576
GigaG230 = 1,073,741,824
TeraT240 = 1,099,511,627,776
PetaP250 = 1%2,125,899,906,842,624
ExaE260 = 1,152,921,504,606,846,976
ZettaZ270 = 1,180,591,620,717,411,303,424
YottaY280 = 1,208,925,819,614,629,174,706,176

You can see in this chart that kilo is about a thousand, mega is about a million, giga is about a billion, and so on. So when someone says, "This computer has a 2 gig hard drive," what he or she means is that the hard drive stores 2 gigabytes, or approximately 2 billion bytes, or exactly 2,147,483,648 bytes. How could you possibly need 2 gigabytes of space? When you consider that one CD holds 650 megabytes, you can see that just three CDs worth of data will fill the whole thing! Terabyte databases are fairly common these days, and there are probably a few petabyte databases floating around the Pentagon by now.

Binary Math Binary math works just like decimal math, except that the value of each bit can be only 0 or 1. To get a feel for binary math, let's start with decimal addition and see how it works. Assume that we want to add 452 and 751:

   452
 + 751
   ---
  1203

To add these two numbers together, you start at the right: 2 + 1 = 3. No problem. Next, 5 + 5 = 10, so you save the zero and carry the 1 over to the next place. Next, 4 + 7 + 1 (because of the carry) = 12, so you save the 2 and carry the 1. Finally, 0 + 0 + 1 = 1. So the answer is 1203.

Binary addition works exactly the same way:%

   010
 + 111
   ---
  1001

Starting at the right, 0 + 1 = 1 for the first digit. No carrying there. You've got 1 + 1 %= 10 for the second digit, so save the 0 and carry the 1. For the third digit, 0 + 1 + 1 = 10, so save the zero and carry the 1. For the last digit, 0 + 0 + 1 = 1. So the answer is 1001. If you translate everything over to decimal you can see it is correct: 2 + 7 = 9.

To see how boolean addition is implemented using gates, see How Boolean Logic Works.

Quick Recap

To sum up this entire article, here's what we've learned about bits and bytes:

There really is nothing more to it -- bits and bytes are that simple!

   (Powered by PWP Version 1.4.2)