IEEE 1541-2002 is a standard issued by the Institute of Electrical and Electronics Engineers (IEEE) concerning the use of prefixes for binary multiples of units of measurement related to digital electronics and computing.
While the International System of Units (SI) defines multiples based on powers of ten (like k = 103, M = 106, etc.), a different definition is sometimes used in computing, based on powers of two (like k = 210, M = 220, etc.) This is due to the use of binary addressing for computer memory locations.
In the early years of computing, there was no significant error in using the same prefix for either quantity (210 = 1024 and 103 = 1000 are equal, to two significant figures). Thus, the SI prefixes were borrowed to indicate nearby binary multiples for these computer-related quantities.
Meanwhile, manufacturers of storage devices, such as hard disks, traditionally used the standard decimal meanings of the prefixes, and decimal multiples are used for transmission rates and processor clock speeds as well. As technology improved, all of these measurements increased. As the binary meaning was extended to higher prefixes, the difference between the two meanings became more pronounced.
This is a common cause of confusion among users that see those amounts reported inconsistently, especially as capacities become bigger and bigger and the absolute error increases. This has even resulted in litigation against hard drive manufacturers, who report drive capacities in standard decimal multiples of bytes, while some operating systems report the size using the larger binary interpretation of traditional prefixes.
Moreover, there is not a consistent use of the symbols to indicate quantities of bits and bytes — the unit symbol "Mb", for instance, has been widely used for both megabytes and megabits. IEEE 1541 sets new recommendations to represent these quantities and unit symbols unambiguously.
After a trial period of two years, in 2005, IEEE 1541-2002 was elevated to a full-use standard by the IEEE Standards Association, and was reaffirmed on 27 March 2008.
IEEE 1541 recommends:
- a set of units to refer to quantities used in digital electronics and computing:
- bit (symbol 'b'), a binary digit;
- byte (symbol 'B'), a set of adjacent bits (usually, but not necessarily, eight) operated on as a group;
- octet (symbol 'o'), a group of eight bits;
- a set of prefixes to indicate binary multiples of the aforesaid units:
- kibi (symbol 'Ki'), 210 = 1024;
- mebi (symbol 'Mi'), 220 = 1048576;
- gibi (symbol 'Gi'), 230 = 1073741824;
- tebi (symbol 'Ti'), 240 = 1099511627776;
- pebi (symbol 'Pi'), 250 = 1125899906842624;
- exbi (symbol 'Ei'), 260 = 1152921504606846976;
- that the first part of the binary prefix is pronounced as the analogous SI prefix, and the second part is pronounced as bee;
- that SI prefixes are not used to indicate binary multiples.
The bi part of the prefix comes from the word binary, so for example, kibibyte means a kilobinary byte, that is 1024 bytes.
IEEE 1541 is closely related to Amendment 2 to IEC International Standard IEC 60027-2, except the latter uses 'bit' as the symbol for bit, as opposed to 'b'.
Today, the harmonized ISO/IEC IEC 80000-13:2008 - Quantities and units -- Part 13: Information science and technology standard cancels and replaces subclauses 3.8 and 3.9 of IEC 60027-2:2005 (those related to Information theory and Prefixes for binary multiples).
In 1998, the International Bureau of Weights and Measures (BIPM), one of the organizations that maintain SI, published a brochure stating, among other things, that SI prefixes strictly refer to powers of ten and should not be used to indicate binary multiples, using as an example that 1 kilobit is 1000 bits and not 1024 bits.
The binary prefixes have been adopted by the European Committee for Electrotechnical Standardization (CENELEC) as the harmonization document HD 60027-2:2003-03 and therefore they are legally binding[clarification needed] in the EU. This means that legally there is no confusion because it is clearly defined that binary prefixes have to be used for powers of two and SI prefixes only for powers of ten. This document has been adopted as a European standard.
The IEC binary prefixes (kibi, mebi ...) are gaining acceptance in open source software and in scientific literature. Elsewhere adoption has been slow, with some operating systems, most notably Windows, continuing to use SI prefixes (kilo, mega ...) for binary multiples.
Supporters of IEEE 1541 emphasize that the standard solves the confusion of units in the market place. Some software (most notably free and open source) uses the decimal SI prefixes and binary prefixes according to the standard.