Bits, Bytes and WTFs…

Written on 2012-06-18.

I think its important to understand the little things. An understanding of the small parts of the whole give a greater understanding of the entirety. I’m quite surprised at just how difficult it was to find the information and how poorly it is presented. So… for my future self and whoever else wishes to read. Here is all the information I have gathered and put together in a way that like-minded people can grasp.

First I’ll define some basic lingo and general knowledge.

  1. Boolean = TRUE or FALSE (in this vernacular, referring to a bit [sometimes referred to as ‘1’] or no bit [some times referred to as ‘0’]).
  2. Capitals & lowercase matter. (as in all good file/operating systems)
  3. Decimal = Wiki Says: “The decimal numeral system (also called base ten or occasionally denary) has ten as its base. It is the numerical base most widely used by modern civilizations.” .
    hozza Says “10, 100, 1000 etc. A very easily understood counting system for humans.”
  4. Binary = Wiki Says: “The binary numeral system, or base-2 number system, represents numeric values using two symbols: 0 and 1. More specifically, the usual base-2 system is a positional notation with a radix of 2. Because of its straightforward implementation in digital electronic circuitry using logic gates, the binary system is used internally by almost all modern computers.”
    hozza Says “0|1, 8, 16, 32, 64, 128 etc. A very easily understood counting system for computers.”
  5. Byte is symbolised as ‘B’ and bit is sometimes symbolised as ‘b’, following the patterns of the below information this would seem to be correct, however this is actually wrong. bit should not be shortened to ‘b’, should only be written as ‘bit’. No shorthand.
  6. Byte is not the plural of bit. It is a separate measure of computing size (1 Byte [B] = 8 bits). This means a 3Mb/s broadband line is equal to  0.375 MB/s.

When humans communicate sizes to other humans, weather that via. computers or verbal. They switch between the decimal and binary system when it suits them or due to ignorance. When we speak about transferring of data we tend to talk in decimal, due to the ease of understanding and simple math. When we talk about storage we tend to talk in binary, as storage devices such as HDD’s use the binary method.

Many ‘categories’ of computing measurements such as the infamous “Meg” (that all the broadband TV adverts love to use), “nibble” etc. are not officially defined as sizes and therefore can be abused. e.g. TV advert says get a 50 Meg connection :O, which is actually only a 50 Mb (most people would assume MB as this is the most common ‘category’ of size that we normally use to measure movies (~700 MB) and music (~6 MB).

We get the words ‘kilo’, ‘mega’, ‘giga’ etc. from the decimal measurement system. So using them to mean a binary measurement is technically wrong… hence all of the confusion. (i.e. kilo = 1000, in computers it is commonly used to represent 1024). So when we need to define which method we are referring to; decimal or binary. We should say or write mega to mean decimal and mebi to mean binary.

There is so much confusion around ‘computing storage size’ that even large companies use them incorrectly in public (advertisements or packaging) whether this is to there advantage or not. They also get away with it.

For example: an MP3 file is 3,735,977 bytes which is equal to 3.736 MB (that’s megabytes, the decimal method) [1] or in MiB (that’s mebibytes, the correct way of using mega to mean the binary counting method) much less than 3.736 MB [2] (we are talking about Bytes and not bits here). I’ve not written the actual number as Google nor WolframAlpha could reliably calculate [most likely as its so sparsely understood], the Mebi number should logically be a larger number than the Mega.

The data:
Full Computing Sizes (b to PiB)
Name (Symbol) Equivalent
bit (bit) 1 boolean
byte (B) 8 bit
kilobit (kbit) 1000 bit
kibibit (Kibit) 1024 bit
kilobyte (kB) 1000 B
kibibyte (KiB) 1024 B
megabit (Mbit) 1000 kbit
mibibit (Mibit) 1024 kibit
megabyte (MB) 1000 kB
mebibyte (MiB) 1024 KiB
gigabit (Gbit) 1000 Mbit
gibibit (Gibit) 1024 Mibit
gigabyte (GB) 1000 MB
gibibyte (GiB) 1024 MiB
terabit (Tbit) 1000 Gbit
tebibit (Tibit) 1024 Gibit
terabyte (TB) 1000 GB
tibibyte (TiB) 1024 GiB
petabit (Pbit) 1000 Tbit
pebibit (Pibit) 1024 Tibit
petabyte (PB) 1000 TB
pibibyte (PiB) 1024 TiB
The same data [ref “data table”], reorganised into Decimal and Binary.
Decimal Computing Sizes (kbit to PB)
Name (Symbol) Equivalent
kilobit (kbit) 1000 bit
kilobyte (kB) 1000 B
megabit (Mbit) 1000 kbit
megabyte (MB) 1000 kB
gigabit (Gbit) 1000 Mbit
gigabyte (GB) 1000 MB
terabit (Tbit) 1000 Gbit
terabyte (TB) 1000 GB
petabit (Pbit) 1000 Tbit
petabyte (PB) 1000 TB
Binary Computing Sizes (b to PiB)
Name (Symbol) Equivalent
bit (bit) 1 boolean
byte (B) 8 bit
kibibit (Kibit) 1024 bit
kibibyte (KiB) 1024 B
mibibit (Mibit) 1024 kibit
mebibyte (MiB) 1024 KiB
gibibit (Gibit) 1024 Mibit
gibibyte (GiB) 1024 MiB
tebibit (Tibit) 1024 Gibit
tibibyte (TiB) 1024 GiB
pebibit (Pibit) 1024 Tibit
pibibyte (PiB) 1024 TiB
The same data [ref “data table”], reorganised into bits and Bytes.
Computing Sizes [bits] (b to Pibit)
Name (Symbol) Equivalent
bit (bit) 1 boolean
kilobit (kbit) 1000 bit
kibibit (Kibit) 1024 bit
megabit (Mbit) 1000 kbit
mibibit (Mibit) 1024 kibit
gigabit (Gbit) 1000 Mbit
gibibit (Gibit) 1024 Mibit
terabit (Tbit) 1000 Gbit
tebibit (Tibit) 1024 Gibit
petabit (Pbit) 1000 Tbit
pebibit (Pibit) 1024 Tibit
Computing Sizes [bytes] (B to PiB)
Name (Symbol) Equivalent
byte (B) 8 bit
kilobyte (kB) 1000 B
kibibyte (KiB) 1024 B
megabyte (MB) 1000 kB
mebibyte (MiB) 1024 KiB
gigabyte (GB) 1000 MB
gibibyte (GiB) 1024 MiB
terabyte (TB) 1000 GB
tibibyte (TiB) 1024 GiB
petabyte (PB) 1000 TB
pibibyte (PiB) 1024 TiB

 

Bits, Bytes and WTFs…

Leave a Reply

Your email address will not be published. Required fields are marked *