Getting older, not necessarily wiser!

The Bit is the basic unit of computing. The Byte is made up of eight bits. That by itself does not mean much to many people. However, we come across the terms all the time when working with computers. We do not see the Bit and Byte terms by themselves. What we see are terms like Megabyte or Megabit. But how many of us know the difference between a megabit and a megabyte? And how many of us know about the rounding errors that accompany these terms in advertisements today?

In this post we will discuss the terms Bit and Byte, and how to interpret them.

The **bit** is the smallest unit of storage in today’s computers. It is a contraction of **BI**nary digi**T** (IEC 80000-13:2008). When used in conjunction with other symbols it is sometimes abbreviated as just **b** (IEEE 1541-2002).

Inside the computer, the **bit** is a microscopic switch. It’s condition or state is either on or off. When it is on it is a logical 1, and when it is off it is a logical 0. By itself the bit does not appear to useful, nor does it do much.

Bits are considered binary, and when strung together we can do binary math. The magic happens when we string a series of bits together. This increase the number of states. For example, if we have two bits, then we have four states instead of two states. Both bits can be off, one of the bits can be on, or both bits can be on.

Adding additional bits doubles the number of possible states. The below chart shows the number of possibilities for a different numbers of bits.

1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |

1 |
2 |
4 |
8 |
16 |
32 |
64 |
128 |

The **byte** is a series of **bits** strung together. The most common form of the byte today is eight bits (ISO/IEC 2382-1). This gives us 256 possibilities. These possibilities are usually represented by the decimal values of 0 to 255. In many cases the byte is also represented by Hexadecimal values between 00 and FF.

The symbol for a byte is a capital “B”. The term byte is a deliberate misspelling bot bite to avoid confusion (Werner Buchholz – 1956).

With 256 possible combinations, we can represent more complex ideas and information. A common example would be ASCII and UTF-8. For example in ASCII, the small letter “a” is represented by the decimal number 97 or the hexadecimal number 61. In terms of the bits that make up the byte, this would be 0-1-1-0-0-0-0-1 (128*0+64*1+32*1+16*0+8*0+4*0+2*0+1*1).

We strung bits together into bytes. Now we will string Bytes together into Kilobytes, or one thousand bytes. To get to 1000 bytes, we need to add three bits (total of 11 bits).

This is where we get into rounding problems. If you follow the doubling logic from previously, we jump from 128 to 256, then 512, then finally to 1024. So while the prefix kilo means 1000, in computer terms it is 1024.

A megabyte is 1000 Kilobytes. Technically it is 1024 Kilobytes. Likewise the gigabyte is 1024 megabytes, and the terabyte is 1024 gigabytes. As of this writing we have not really gotten into petabytes, exabytes, or zettabytes.

Time for a few examples of using these terms.

A DSL modem has a speed of 8 Mbps (Megabits Per Second). Note the speed is given in bits. This translates to 976 Kilobytes per second, or rounding to 1 Megabyte. Obviously 8 Mbps sound better than 1 MB/s (note capital B), even though they represent the same speed.

Hard Drive manufacturers chose to use rounded base 10 numbers when talking about hard drive space because most people do not think in binary or hexadecimal, and it looks better on the box. Not much of a problem in the old days when hard drives were usually smaller than 10 Megabytes where the difference was 48.5 Kilobytes per megabyte. However at gigabyte range (74 megabyte difference per gigabyte) and terabyte range (99.5 gigabyte difference per terabyte) the differences can become substantial.

A note on actual drive space. Beyond rounding errors, a certain amount of drive space is required for partitioning and formatting, which reduces the available space even further.

This post was intended to help the end user understand bits and bytes and how they are used in computer terminology. It was not an exhaustive review of computer architecture. To that end it has been a very simple overview of bits, bytes, and rounding errors.

## Add New Comment