Welcome to the first ever installment of SrcBits, an ongoing series comprised of tips, notes, commentary & whatever else pops into my head about various tech topics. I'll try to make this a regular thing to fill the gap between some of my more in-depth guides. While thinking of different things I could write about for this epic moment in history...my history at least...I thought, "Hey, why don't I talk about the Bit. It's in the title, makes sense." Read on if you'd like to learn a little about this often overlooked building block of technology. At the very least, I promise to make this tiny, but important topic, a fun read.
For those who don't know much about our topic, a Bit is the smallest unit of data in computing. Think of it like a teaspoon in cooking or a Fiat in the car world. Bits are so small in fact, you'll rarely come across the term anymore unless you're talking about Internet connections..."c'mon ISP's, you're killing me with these speeds". The word Byte though, you probably have heard of. A Byte is the bigger brother of our forgotten friend, the Bit.
If you take nothing else away from this post, just remember thatequals .
Little "b", Big "B"
In your everyday interaction with computers, you may have come across terms like 100Kb or 100KB. While upon first glance these two values look exactly the same, they are actually very different. The lowercase "b" in 100Kb stands for Bits while the uppercase "B" in 100KB stands for Bytes. With the handy dandy formula we just learned, we can calculate that 100KB is actually 8 times larger than 100Kb. It's a subtle distinction, but a very important one.
Lowercase "b" = Bits
Uppercase "B" = Bytes
The "K" in our two examples stands for Kilo or 1000. Along with Kilo(K), a few other common data prefixes are Mega(M), Giga(G), & Tera(T). I'll talk more about the value of these prefixes as they pertain to computing later on in the article, but for now here's a simplified chart if you're impatient and want the Cliff Notes version.
|Mega(M)||1000^2 or 1,000,000|
|Giga(G)||1000^3 or 1,000,000,000|
|Tera(T)||1000^4 or 1,000,000,000,000|
1's & 0's
If you watch as much TV as I do, you've probably heard jokes about robots only understanding 1's and 0's...I'm looking at you Futurama. What you may not have known is that in computing, those 1's and 0's actually represent Bits. To break it down in simpler terms, imagine that a bit is an empty room in your computer with a light bulb in it. If I flip a switch, I can either turn that light On or Off. Keep in mind this analogy excludes dem city folks with their fancy dimmer switches. I prefer my lights as bright as the sun or as dark as my humor. There's no in-between for me. Ok, back to my point. That single bulb gives your room, e.g. bit, 2 unique options. In the computing world, a bit that is "On" is represented with a 1, while a bit that is "Off" is represented with a 0. Mathematicians refer to this 2 number system as Binary.
Now imagine that I decked your computer out with a 2nd room with it's own light bulb. Your total options have now doubled to 4. If I then upgrade your computer to 3 rooms, you now have 8 unique options. You may be thinking, 8? Isn't it 6? There's 3 rooms with 2 options each. That's 6 dummy. Well my response to that is you're very rude and second, I'd say take a look at the diagram below to see why it's 8.
As you can see, every time we introduce a new room/bit, the number of options we have doubles. So what can we do with all of these combinations of 1's and 0's? Well, people much smarter than me figured out a long time ago that you can represent pretty much anything given enough bits. Every letter, number and symbol you're reading right now is represented by a different unique combination of bits. Even the colors, pictures and videos you see on the Internet are made up of bits.
There are a few different standards we have for representing every character you can type on a keyboard, but the two most common are ASCII and its newer cousin, Unicode. Check out RapidTables.com & Unicode-Table.com to see just how many characters are out there.
To learn more about how bits represent every color on your screen, RapidTables.com has that topic covered as well.
You may be thinking that you must need a gazillion bits to represent everything we view on our computers. While it does take a lot, our computers have advanced to the point where having that many bits is no big deal. Remember the term Byte we talked about before? A single Byte with its 8 bits can represent 256 different bit combinations. To put things in perspective, a low-end computer with 1GB of RAM contains 8,589,934,592 bits which means it can represent 274,877,906,944 unique bit combinations in memory alone. With technology advancing the way it does, these numbers seem to grow every year. This means what you can view, create and share with your computer are almost limitless.
When does 1000 = 1024?
Have you ever purchased a new Hard Drive advertised as having a certain amount of disk space and after installing it, you find out that it's actually a lot smaller than the fancy label promised. While there are a few factors that play into this disk shrinkage, the biggest one is the result of tricky advertising and misused terminology.
As the star of this article the ★Bit★ has shown us, computers are based on a two number Binary system. In the everday world, we count using the 10 number Decimal system. This is where the confusion comes in. We're used to rounding numbers to powers of 10. We round 97 to 100, 985,000 to 1,000,000, and so forth. It makes counting and conceptualizing numbers easier for us when we use nice "round numbers" with 0's at the end. Well, the Binary system doesn't work that way. The nice "round numbers" in the binary world are based on powers of 2, e.g. 2, 4, 8, 16, 32...etc.
At this point, you may be thinking, "That's nice, but where is my missing hard drive space?" Well, remember that tabletable of prefixes earlier in the article with the terms Kilo, Mega, Giga & Tera? Those are actually prefixes based on the decimal system. A Kilobyte, which is equal to 1000 Bytes, is a nice round decimal number, but not a nice round binary number. Because of this, in 1999, the IEC (International Electrotechnical Commission) introduced a new set of prefixes that were based on the binary system in order to prevent confusion, but ultimately ended up doing the exact opposite. The Kibibyte, which is equal to 1024 bytes and is the rounded binary number closest to a Kilobyte(1000 Bytes), was born. Along with the prefix Kibi came its bigger brethren, the Mebi, Gibi & Tebi. There was also an "i" inserted into the binary abbreviations to distinguish them from their decimal counterparts, so KiB represents Kibibyte while KB represents Kilobyte.
Below is a table that shows how the decimal prefixes differ from their binary cousins.
Decimal vs Binary
|Decimal Prefix||Total Bytes||Binary Prefix||Total Bytes|
|Megabyte(MB)||1000^2 or 1,000,000||Mebibyte(MiB)||1024^2 or 1,048,576|
|Gigabyte(GB)||1000^3 or 1,000,000,000||Gibibyte(GiB)||1024^3 or 1,073,741,824|
|Terabyte(TB)||1000^4 or 1,000,000,000,000||Tebibyte(TiB)||1024^4 or 1,099,511,627,776|
As the table shows, the disparity between the decimal and binary prefixes grow exponentially as the byte total increases. You may have guessed by now which system Hard Drive manufacturers like to use to represent their total capacity. They use the decimal system of course, so they can advertise a smaller capacity with a larger sounding name. There have actually been class action lawsuits filed against these companies for misrepresenting the total capacity of their drives. While they are technically correct in their use of the terminology they print on their boxes, it is still very confusing to the average consumer. Most people don't realize there are two different ways to calculate hard drive capacity let alone knowing about two separate naming standards. In actuality, if all operating systems calculated a hard drive's capacity based on the decimal standard, most people wouldn't realize the distinction, but unfortunately, or fortunately depending on your point of view, that's not the case. A lot of operating systems, like Windows, calculate capacity based on the binary system so your brand new 100GB drive shows up as 93GB. To make matters worse, they misuse the decimal abbreviations when displaying their totals. Your drive capacity should actually be displayed as 93GiB and not 93GB which furthers the confusion. Maybe, it's time Microsoft takes some of the heat the Hard Drive manufacturers have been getting.
In any case, these binary prefixes and abbreviations that were supposed to solve all of life's problems have never really caught on in the mainstream, possibly because the Kilobyte had already become a common term or maybe because the binary names just sound stupid..."Mebi, really? Although, I think I might name my next dog Gibi."
Whatever the reason, the lack of support for the binary naming standards and the misuse of terms continues to lead to befuddled and frustrated users. Even after all the lawsuits and news coverage, the odds that people will eventually learn the correct terminologies are still pretty slim. I mean if the metric system can't break into US culture, it's unlikely the Kibibyte ever will. I guess people will always prefer 40 rods to a hogshead rather than adopt the Liter...bonus points if you got that reference.
*NOTE: Some of you very astute readers may have noticed that I used the term 1GB when talking about RAM earlier in the article and yet still calculated the number of bits with the binary and not the decimal standard. While, RAM manufacturers also misuse terminology when marketing their products, they actually misrepresent the number in the consumers favor. When they sell you 1GB of RAM they are actually selling you 1,073,741,824 Bytes and not 1,000,000,000 Bytes. While most people give them a pass because they're getting more than advertised, in all fairness, those companies should probably change their advertising to use the proper binary abbreviation, GiB. "Why do you people refuse to adopt Gibi? LookLook at him. How could you not love him?"
Well it took a <pun>Bit</pun>, but we've finally solved the mystery of the missing hard drive space and at last have come to the end of the very first SrcBits article. I hope you enjoyed this even though it ended up being a lot longer than I intended. Hopefully, future articles will be a little less comprehensive, but it's hard to stop me once I start typing or talking for that matter. Please come back for more tech goodness and feel free to share this article with your friends. Til next time!