IEEE 1541-2002 is a standard issued in 2002 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 and capacities increased. As the binary meaning was extended to higher prefixes, the absolute error between the two meanings increased. This has even resulted in litigation against hard drive manufacturers, because some operating systems report the size using the larger binary interpretation.
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 is closely related to Amendment 2 to IEC International Standard IEC 60027-2. The IEC standard was harmonized into the common ISO/IEC IEC 80000-13:2008 - Quantities and units -- Part 13: Information science and technology. This standard uses 'bit' as the symbol for bit, as opposed to 'b'.
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.
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. Adherence to this standard implies that binary prefixes wouldh be used for powers of two and SI prefixes 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.