SwedeTeam kibi, mebi... - kilo, mega... Prefixes


Fri 2010-10-01: Introducing our new conversion tool >>

A standard that has been around for more than ten years (first standard published by IEC in Jan 1999) and that is growing in use and enforcement.

  • A kilo is 1000 and nothing else! Not 1024, and not to be using prefix of Capital K but 'k'.
    • 1000 bytes is one kilobyte, 1 kB; note 'B' is Bytes, 'b' is bits)
    • 1024 bytes is one kibibyte, 1 KiB
  • A mega is 1000 000 and not 1 048 576, prefix 'M'.
    • 1 000 000 bytes is one megabyte, 1 MB, = 1000 kB
    • 1 048 576 bytes is one mebibyte, 1 MiB, = 1024 KiB

Who's using what:

  • SI, Base 10: All the people in the World, at some point and degree - billions of users
  • 'False/Bad SI', Base 2: Computer industry to some degree - see also more below in Use in IT

"The IEC has adopted prefixes for binary powers in the international standard IEC 60027-2: 2005, third edition, Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics. The names and symbols for the prefixes corresponding to 210, 220, 230, 240, 250, and 260 are, respectively: kibi, Ki; mebi, Mi; gibi, Gi; tebi, Ti; pebi, Pi; and exbi, Ei. Thus, for example, one kibibyte would be written: 1 KiB = 210 B = 1024 B, where B denotes a byte. Although these prefixes are not part of the SI, they should be used in the field of information technology to avoid the incorrect usage of the SI prefixes. " (en.wikipedia.org/wiki/Binary_prefix, 2009-09-01)

 

Common Units

SI Prefixes (Base 10)

  Base 2 Prefixes - by EIC  

SI
Prefix

SI
Symbol

Value

Factor   EIC
Base2
Prefix
EIC
Base2
Symbol
Value Factor Diff
kilo k [1] 1 000 (103)   kibi Ki 1 024 (210) 2%
mega M 1 000 000 (106)   mebi Mi 1 048 576 (220) 5%
giga G 1 000 000 000 (109)   gibi Gi 1 073 741 824 (230) 7%
tera T 1 000 000 000 000 (1012)   tebi Ti 1 099 511 627 776 (240) 10%
peta P 1 000 000 000 000 000 (1015)   pedi Pi 1 125 899 906 842 624 (250) 13%
exa E 1 000 000 000 000 000 000 (1018)   exbi Ei 1 152 921 504 606 846 976 (260) 15%
zetta Z 1 000 000 000 000 000 000 000 (1021)   zebi Zi 1 180 591 620 717 411 303 424 (270) 18%
yotta Y 1 000 000 000 000 000 000 000 000 (1024)   yobi Yi 1 208 925 819 614 629 174 706 176 (280) 21%
[1] Capital K is NOT approved/used by SI but quite common elsewhere (unfortunately)

 

SI
Prefix

SI
Symbol

Factor     EIC
Base2
Prefix
EIC
Symbol
Factor Diff
kilo k (103) (103)1   kibi Ki (210) (210)1
mega M (106) (103)2   mebi Mi (220) (210)2
giga G (109) (103)3   gibi Gi (230) (210)3
tera T (1012) (103)4   tebi Ti (240) (210)4
peta P (1015) (103)5   pedi Pi (250) (210)5
exa E (1018) (103)6   exbi Ei (260) (210)6
zetta Z (1021) (103)7   zebi Zi (270) (210)7
yotta Y (1024) (103)8   yobi Yi (280) (210)8

 

 

History

(Source: en.wikipedia.org/wiki/Binary_prefix - references within [] refer to this document. Retrieved 2009-09-01.)

1995

Recommendations by the International Union of Pure and Applied Chemistry (IUPAC) in 1995.

1996

The IEC proposed "kibi", "mebi", "gibi" and "tebi", with the prefixes "Ki", "Mi", "Gi" and "Ti" respectively, in 1996 [28]. (1996 IUCr IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS) report)

1999

In January 1999, the IEC published the first international standard (IEC 60027-2 Amendment 2) with the new prefixes, extended up to "pebi" (Pi) and "exbi" (Ei).[30][31]

2005

IEEE: On 19 March 2005 the IEEE standard IEEE 1541-2002 (Prefixes for Binary Multiples) was elevated to a full-use standard by the IEEE Standards Association after a two-year trial period.[41]

IEC: Third Edition of IEC 60027-2 (The second edition of the standard[38] defined them only up to exbi,[39] but in 2005, the third edition added prefixes zebi and yobi, thus matching all SI prefixes with their binary counterparts.[40])

IEC 60027-2 Ed. 3.0, IEC 60027-2: Telecommunications and electronics

2008

ISO/IEC 80000: The harmonized IEC 80000-13:2008 standard cancels and replaces subclauses 3.8 and 3.9 of IEC 60027-2:2005 (those defining Prefixes for binary multiples). [http://en.wikipedia.org/wiki/ISO/IEC_80000] (The standard is still work in progress per 2009-09-01)

The only significant change is the addition of explicit definitions for some quantities. [44]

 

(Additional early history (Early usage) starting with the 1950s is actually quite interesting reading. Both Base 2 and Base 10, in 1960's a 'K' was used even more loosely - with 1000, 1024, AND rounded... 65536 = "65K".)

 

"The dual use of these prefixes as both decimal and binary quantities was defined in standards and dictionaries. The 1986 ANSI/IEEE Std 1084-1986[19] defined dual uses for kilo and mega.

kilo (K). (1) A prefix indicating 1000. (2) In statements involving size of computer storage, a prefix indicating 210, or 1024.

mega (M). (1) A prefix indicating one million. (2) In statements involving size of computer storage, a prefix indicating 220, or 1048576.

The binary units Kbyte and Mbyte were formally defined in ANSI/IEEE Std 1212-1991.[20] The terms Kbyte, Mbyte, and Gbyte are found in the trade press and in IEEE journals. "Gigabyte" was formally defined in IEEE Std 610.10-1994 as either 1000000000 or 230 bytes.[21] Kilobyte, Kbyte, and KB are equivalent units and all are defined in the current standard, IEEE 100-2000.[22]"

 

Use

 

Organization Policy Notes

BIPM

Strict

BIPM (the International Bureau of Weights and Measures which maintains SI) expressly prohibits the use of SI prefixes to denote powers of two, and recommends the use of the IEC prefixes as an alternative since computing units are not included in SI.[4].

IEEE Standard

On 19 March 2005 the IEEE standard IEEE 1541-2002 (Prefixes for Binary Multiples) was elevated to a full-use standard by the IEEE Standards Association after a two-year trial period.[41]

Nevertheless, as of April 2008, the IEEE Publications division does not use the IEC prefixes in its major magazines such as Spectrum or Computer.

NIST Strict The binary definition of the prefixes k, M, G etc is not permitted by the United States National Institute of Standards and Technology (NIST).[45] (See also sp330.pdf (nist.gov) (local copy for ref, more in reference below)


"The system used the multiplier 1024 (210), rather than 1000 (103) as in the SI system, to arrive at successively larger prefixes. Under this recommendation, the SI prefixes should only be used in the decimal sense: kilobyte and megabyte denote one thousand bytes and one million bytes respectively, while kibibyte and mebibyte denote 1024 bytes and 1048576 bytes respectively.

This recommendation has since been adopted by some other leading national and international standards bodies, that now prescribe that the prefixes k, M and G should always refer to powers of ten, even in the context of information technology.[4][2][5][6]

Notwithstanding the availability of the new binary prefixes and their unambiguous meaning, they have seen limited adoption in practice; the use of K (or k), M and G as binary multipliers when denoting the capacity of solid-state memory like random access memory (RAM) remains a ubiquitous industry practice.[7]" [from the introduction in en.wikipedia.org/wiki/Binary_prefix]

 

 

Use in IT

 

  • Data storage manufacturers (hard disks) has been using true SI with Base 10 for many years.
    (Why bought capacity never have matched displayed... You bought a 160 GB drive and the computer says it's 149.05 GB. Note: some space may be lost to bad sectors and internals but this is not the explanation here.)
  • In many other areas of information technology, the Base 2 is more common for historical and practical reasons. As the digital world at its core is bits - zeros and ones - the base 2 makes perfect sence.

Tabularized summary from http://en.wikipedia.org/wiki/Binary_prefix#Usage_notes retrieved 2009-09-01:

Area   Notes

Files

varies

"Prior to the release of Mac OS (1984), file sizes were typically reported by the operating system in decimal digits without prefixes of any sort.[citation needed] Today, most operating systems are capable of reporting file sizes with prefixes.

Most Unix-like systems which use the ls command to display file sizes use powers of 1024 indicated as KB/MB. In Linux, the directory listing tool (ls) has options for decimal file size listings. Microsoft Windows reports file sizes in binary units but does not use IEC standard prefixes."

Computer memory

Binary

"Measurements of most types of electronic memory such as RAM, ROM and Flash (large scale disk-like flash is sometimes an exception) are given in binary units, as they are made in power-of-two sizes. This is the most natural configuration for memory, as all combinations of their address lines map to a valid address, allowing easy aggregation into a larger contiguous block of memory."

Hard disk drives

Decimal

"As of January 2007[update], most, if not all, HDD manufacturers continue to use decimal prefixes to identify capacity.[49]"

Flash drives

mixed

"USB Flash Drive and Flash-based memory cards like CompactFlash and Secure Digital are typically classified in "powers of two" multiples of decimal megabytes; for example, a "256 MB" card provides at least 256 million bytes (256000000), not 256×1024×1024 (268435456).[50] Although the devices usually have at least the expected byte capacity, each manufacturer allocates different portions of the device's ultimate capacity for such things as wear levelling."

Floppy drives

both

"Floppy disk drive and media manufacturers use decimal units for unformatted recording capacity while most computer operating systems use binary units to measure the formatted capacity."

Optical drives - CD

Binary

"CD capacities are always given in binary units. A "700 MB" (or "80 minute") CD has a nominal capacity of about 700 MiB (approx 730 MB).[56]"

Optical drives - DVD Decimal "However, the capacities of other optical disc storage media like DVD, Blu-ray Disc, HD DVD are given in decimal units. A "4.7 GB" DVD has a nominal capacity of about 4.38 GiB.[57]"

Buses

Decimal

"Bus clock speeds and therefore bandwidths are both given in decimal units. For example, "PC3200" memory on a double pumped bus, transferring 8 bytes per cycle running with a clock speed of 200 MHz = 200,000,000 cycles per second has a bandwidth of 200,000,000 × 2 × 8 = 3,200,000,000 B/s = 3.2 GB/s (about 2.98 GiB/s)."

Software

varies

"As of 2008[update], most software does not distinguish symbols for binary and decimal units. The IEC binary naming convention has been adopted by some, but is not used universally."

 

Read More, Sources