Introduction To The Binary Numeric System (Part 2)

By: Daniel Imbellino
Updated: Feb 28, 2013

Binary System Characteristics

On the last page we were discussing Binary values in sets of 8 bits (Binary Digits). This is how computers read, write, manipulate, transmit, and store data using logical values of 1's and 0's. Infact, the 8 Bits we were working with is also known as one Byte. Sometimes 16 Bits is known as a word (16bit word). Computers, and related equipment (networking hubs, switches, routers, etc), all manipulate data using multiple values of 2. This is why hard disk space is measured in multiples of 2. For instance a hard disk drive with 250GB of disk space is actually 250 multiplied by 8, since one Byte = 8 bits. Operating system and software files are all measured in Bytes, Kilobytes (Kilo means thousand), Megabytes (Mega means million), Gigabytes (Giga means billion), Terabytes (Tera means trillion), and so on. We could certainly measure data in bits, but since data is always stored in bytes it usually makes more sense to read it in bytes. Although, this isn't always the case. Network bandwidth and throughput are usually measured in bits NOT bytes. How can you tell the difference? Lets say we have 1MB (thats one Megabyte) and 1Mb (thats one Megabit), which is larger? Notice both have an "MB" abbreviation, but one has an uppercase "B" while the other has a lowercase "b". Remember 8 bits equals 1 byte. So, 1MB is one million times 8 bits, or "1 Megabyte", which is approximately 8 million bits! And "1 Megabit" is one million even. Keep in mind we are only working with 2 value's 1's and 0's, and computers and digital equipment altogether only understand these two logical representations when it comes to manipulating data in any way. Why ones and zeros? Well, the 1's and 0's are actually a logical way of representing data in a computer system. We could say these 2 discrete numerical values have properties assigned to them that are used to represent say: a positive value (a 1), a negative value (a 0), or a positive voltage (a 1), or a negative voltage (a 0). Data itself is actually written and read from hard disk drives as positive and negative electrical values. The Binary system gives the electrical hardware components a way to represent these + and - electrical values as a set of logical values using 1's and 0's. In this manner we can encapsulate information with electrical positive and negative voltages (AKA potential difference) and represent them in a computer system logically by assinging these values with 1's and 0's. Data can also be represented in multiples of 8, such as with 32bit or 64bit operating systems and software. In this sense the operating system is processing data in chunks of 32bits or 64bits respectively. Many older computer and video game systems had 8, 16, 24, or 32 bit microprocessors and databusses, Most current Game systems are 64 bits today though.

What if we wanted to convert Decimal numbers that were larger than 8 bits? Lets say we the Decimal value 3,21810 (base10),and we wanted to convert this number to its Binary equivalent, we could do so the same way as we did before by finding the largest power of 2 that can go into 3,19810. So, lets see some bigger numbers to work with. we know that 28 = 256, so whats 29? Remember we are always multiplying in values of 2! So, we are multiplying 256x2 which = 512. Likewise, 210 = 1,024 or 512x2, and 211 = 2,048 or 1,024x2, and 212 = 4,096. But we need the largest power of 2 that can go into 3,19810. Obviously 212 which equals 4,096 would be too large to go into 3,19810, but 211 which equals 2,048 would fit just fine. This time we are working with 11 bits instead of 8 because 8 bits would be too small to represent such a large Decimal number in Binary. Since we have 211 we have 11 bits, and because 2,048 is the largest value we will be using we know it is the "Most Significant Bit" (furthest bit to the left). So we subtract 2,048 from 3,198 which gives us 1,15010 left over to resolve in Binary, leaving us with the Binary value of 10000000000 which equals 2,04810 exactly. So whats the largest value of 2 that can go into 1,150? The answer is, and we've already displayed it, 210 which equals 1,024. So now we add a 1 in the 10's place (1,024's place) right next to the 1 we already put in the 11's (2,048's place) place giving us the Binary value 110000000000 which equals 3,07210. Now we subtract 1,024 from 1,150 and we end up with 126 left over to still be resolved. Whats the largest power of 2 that can go into 126? 26 which equals 64. 126 - 64 = 62 left over and our Binary value has changed to 110001000000 which equals 3,13610. We still have 62 left, and 25 which equals 32 is the next highest multiple of 2 we can use, so we put a 1 in the 5's place (64's place), and 62 - 32 = 30 left over, also our Binary value has changed again too 110001100000. So, now we put a 1 in the 16's place giving us 110001110000 and leaving us with 30 - 16 = 14. We have 14 leftover, so put a 1 in the 8's place giving us 110001111000, and 14 - 8 = 6, so put a 1 in the 4's place, and a in the 2's place, leaving us with no digits left to resolve. So we end up with the Binary value of 1100011111102 which is the equivalent of 3,19810.

NOTE: in this last example we had 12 digits, but remember the first digit is the 0's place or 1's place if a 1 is present their. We ended at the 2's place in our conversion. Working thru all 11 digits place values in the last example we had: 1x211(2,048) + 1x210(1,024) + 0x29(0) + 0x28(0) + 0x27(0) + 1x26(64) + 1x25(32) + 1x24(16) + 1x23(8) + 1x22(4) + 1x21(2) + 0x21(0).

Intro To The Hexadecimal Numeric System