A megabit can be 1,000,000 bits or 1,048,576 bits depending on whether you using decimal or binary definitions. Standards have been defined to help – are you using the mibibyte and kibibyte in your documentation ?
The difference between binary and decimal seems small, but it can lead to very large problems. Instances of telcos providing bandwidth in decimal can cause QoS strategies to go wrong as this makes a big difference when traffic shaping. Or when calculating file transfer times for large files, you can introduce a large margin for error.
Standards for decimal and binary prefixes
In 1999, the International Electrotechnical Commission (IEC) published a standard, which was approved in 1998, introduced the prefixes kibi-, mebi-, gibi-, tebi-, pebi-, exbi-, to be used in specifying binary multiples of a quantity. The names come from the first two letters of the original SI prefixes followed by bi which is short for "binary". It also clarifies that, from the point of view of the IEC, the SI prefixes only have their base-10 meaning and never have a base-2 meaning.
Thus kibi is a kilobyte in binary – kibi and a gibibit is a binary gigabit.
IEC standard prefixes
In 1999, the International Electrotechnical Commission (IEC) published Amendment 2 to "IEC 60027-2: Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics". This standard, which was approved in 1998, introduced the prefixes kibi-, mebi-, gibi-, tebi-, pebi-, exbi-, to be used in specifying binary multiples of a quantity. The names come from the first two letters of the original SI prefixes followed by bi which is short for "binary". It also clarifies that, from the point of view of the IEC, the SI prefixes only have their base-10 meaning and never have a base-2 meaning. It is strongly supported by many standardization bodies, including IEEE and CIPM.
Name | Symbol | Value |
kibi | Ki | 210=1,024 |
mebi | Mi | 220=1,048,576 |
gibi | Gi | 230=1,073,741,824 |
tebi | Ti | 240=1,099,511,627,776 |
pebi | Pi | 250=1,125,899,906,842,624 |
exbi | Ei | 260=1,152,921,504,606,846,976 |
Examples
Example: 300 Gigabytes = 279.5 Gibibytes.
Decimal prefixes
Name | Symbol Value | Base 16 (Binary) |
kilo
|
k or K | 210 = 1000 |
mega
|
M | 220 = 1,000,000 |
giga
|
G | 230 = 1,000,000,000 |
tera
|
T | 240 = 1,000,000,000,000 |
peta
|
P | 250 = 1,000,000,000,000,000 |
exa
|
E | 260 = 1,000,000,000,000,000,000 |
Why bother ?
When you are traffic shaping a 128kbps circuit, is it 128000 bits per second or is it 131072 bits per second ?
When you buy a 10 megabyte per second Internet connection, is it 10,000,000 bits per second or 10,485,760 ? That is quite a big difference isn’t it ?
By getting people to use these abbreviations, we should get this more correct in the future. To show how the error factor can creep into network planning, have a look at the percentage difference table below:
Approximate ratios between binary prefixes and their decimal equivalent
Name | ||||
Bin | Decimal | Bin Example | Percentage difference | |
kilobyte: kibibyte | 1.024 | 0.976 | 100 KB = 97.6 KiB | 2.4% |
megabyte: mebibyte | 1.049 | 0.954 | 100 MB = 95.4 MiB | 4.9% |
gigabyte: gibibyte | 1.074 | 0.931 | 100 GB = 93.1 GiB | 7.4% |
terabyte: tebibyte | 1.100 | 0.909 | 100 TB = 90.9 TiB | 10% |
Conclusion
I would like to hear what other people think ? Could this be done ? Would you do this it at work ? Or am I full of hot air ?
And for what’s is worth, this is terminology that I use more and more often. It’s a lot more accurate when calculating QoS and file transfer times.
Reference
Wikipedia HERE
Your decimal prefixes schould be base 10 and not base 2, so kilo is 10^3, Mega is 10^6 (or kilo^2)…
a very clear and definative description of the terms
but your forgetting one thing…Joe/Joan average
I still get told they’re computer runs at 320 GB, or it has 2 or 4 GB of storage, or best one yet… they’re broadband has a direct link to full 56Kbs, yes I laughed, not good as it was a business deal! but at least they got a speed term right and I got the transaction =)
my point is… these terms will never be never be globally accepted in the home
Harddisks being the only exception, a 1TB hard disk is sold as 1TB, only after formatting it becomes something measured in a smaller term…gibi’s
those who understood binary/octal/decimal/hexadecimal make the swap automatically, using the best term the other person will understand, we don’t need to re-educate those that dont
Also i don’t see industry adopting a term that is smaller sounding.. would you try to market a 4Gb memory stick or a 3,816mebi one?