2 September 2010

Mibi Mega Kibi Kilo – Decimal and Binary Prefixes

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

Please rate this post:

1 Star - It\\\'s Crud2 Stars - It\\\'s Tosh3 Stars - Something\\\'s missing4 Stars - Needs works5 Stars - Good Enough6 Stars - Good7 Stars - Excellent8 Stars - Brilliant9 Stars - Astonishing10 Stars - Awesomely Godlike? (1 votes, average: 8.00 out of 10)
Loading ... Loading ...

About Greg Ferro
Greg is a Network and Security Architect / Designer / Engineer working freelance in the UK and worked for Resellers, DotCom's, Large Corporate's and Service Providers across a variety of products & Vendors. He prefers to work for end users, believes in the life cycle, total cost of ownership and that near enough is often good enough. He likes talking about himself in the first person to feel "royal", even when hosting the Packet Pushers Podcast on Data Networking. More about Greg at http://etherealmind.com/who-am-i/ and you can follow him on Twitter.

Comments

  1. Reimer says:

    Your decimal prefixes schould be base 10 and not base 2, so kilo is 10^3, Mega is 10^6 (or kilo^2)…

Speak Your Mind

*