Skip to content Skip to navigation

Connexions

You are here: Home » Content » Prefixes for binary multiples

Navigation

Content Actions

  • Download module PDF
  • Add to ...
    Add the module to:
    • My Favorites
    • A lens
    • An external social bookmarking service
    • My Favorites (What is 'My Favorites'?)
      'My Favorites' is a special kind of lens which you can use to bookmark modules and collections directly in Connexions. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need a Connexions account to use 'My Favorites'.
    • A lens (What is a lens?)

      Definition of a lens

      Lenses

      A lens is a custom view of Connexions content. You can think of it as a fancy kind of list that will let you see Connexions through the eyes of organizations and people you trust.

      What is in a lens?

      Lens makers point to Connexions materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

      Who can create a lens?

      Any individual Connexions member, a community, or a respected organization.

    • External bookmarks
  • E-mail the author

Recently Viewed

Prefixes for binary multiples

Module by: Rick Simpson

Summary: The SI ("metric") prefixes, such as "k" for 1000 and "M" for 1,000,000, have been used for years to express binary quantities such as memory size. However, there are a separate set of prefixes for binary multiples that are intended for this use and are more precise.

Prefixes

Almost all digital computers these days are binary, meaning that they deal with numbers expressed in binary rather than decimal. This means that memory addresses, and thus memory sizes, are also expressed in binary. Memory sizes are almost always nice, round numbers in binary, but not in decimal. Thus a computer with a 16-bit wide address can have up to 216216 bytes of memory, which is 10,000,000,000,000,000 in binary and 65,536 in decimal.

Early on it was observed that 210210, which is 10,000,000,000 in binary, is 1024 in decimal. This isn't too far off from 1000 ("only" 2.4% off). Not only that, but 220220 is close to a million, being equal to 1,048,576 in decimal. It became common to refer to "kilobytes" and "megabytes", where a "kilobyte" was really 1024 bytes and a "megabyte" was really 1,048,576 bytes.

To those in scientific and technical disciplines other than computer science and computer engineering, though, "kilo" means 1000 and "mega" means 1,000,000. They don't mean about 1000 or approximately 1,000,000. Properly, all the SI prefixes such as "kilo" and "mega" refer to powers of 10, not powers of 2.

Lately the disparity caused by using power-of-ten names for power-of-two quantities has gotten worse because the numbers have gotten bigger. We now have even laptop computers with "gigabytes" of memory, and large server computers can have "terabytes" of disk space.

Figure 1
How far off are we?
When we say but mean we're this far off
1 kilobyte 210 210 bytes 2.4%
1 megabyte 220 220 bytes 4.9%
1 gigabyte 230 230 bytes 7.4%
1 terabyte 240 240 bytes 10.0%
1 petabyte 250 250 bytes 12.6%
1 exabyte 260 260 bytes 15.3%
Being off by 15% when talking about an "exabyte" means being off by about 1.5×10 171.5×10 17 bytes, or 150 petabytes.

To eliminate this imprecision and confusion, a set of prefixes for binary multiples that closely parallel those for powers of 10 has been adopted as a standard by the International Electrotechnical Commission (IEC).

Figure 2
Subfigure 2.1: Powers of 10Subfigure 2.2: Powers of 2
SI (Metric) Prefixes
Factor Name Symbol
103 103 kilo k
106 106 mega M
109 109 giga G
1012 1012 tera T
1015 1015 peta P
1018 1018 exa E
1021 1021 zetta Z
1024 1024 yotta Y
IEC Binary Prefixes
Factor Name Symbol
210 210 kibi Ki
220 220 mebi Mi
230 230 gibi Gi
240 240 tebi Ti
250 250 pebi Pi
260 260 exbi Ei
270 270
280 280

The binary symbols are just the SI symbols with an "i" for binary appended. The binary table only goes through 260260, which is enough to handle the largest number in a 64-bit computer.

There is even suggested pronounciation for the names: "KIH-bee" and "MEH-bee" for kibi and mebi, and similarly for the others.

This standard was published by the IEC in 2000, but it appears to have had very little publicity and is almost certainly unknown to most people who deal with computers. Adoption of the new prefixes and names by the general population is likely to be slow in coming. Getting people to say "mebi bytes" and "gebi bytes" with a straight face may take even longer.

Comments, questions, feedback, criticisms?

Send feedback