A range of prefixes based on binary multiples have been created by the (IEC), which are intended to avoid confusion between the officially adopted SI prefixes – based on multiples of 1,000 – and the customary use in computing of terms such as kilo, mega and giga to refer to multiples of 1,024.
The origin of this practice most likely dates back to the early development of 8-bit microprocessor systems, where memory devices possessed just a few thousand bytes, and internal storage locations were arranged in blocks which were binary multiples (1, 2, 4, 8, … 1,024, 2,048, 4,096, … etc.). For convenience, due to the proximity of 1,024 to the official SI prefix of kilo (1,000), microprocessor engineers referred to these larger memory storage capacities as 1K, 2K, 4K, etc. where ‘K’ was commonly understood to mean 1,024. As computer storage capacities increased, the SI prefixes of mega (1,000,0000) and tera (1,000,000,000) were soon adopted to mean 1,0242 and 1,0243 repectively.
The exponential growth in computer sales which began around this time caused these unofficial terms to become widely adopted, but this has subsequently led to a certain amount of confusion, and ambiguity. For example, manufacturers of computer storage devices now commonly use the SI prefixes when referring to memory sizes, while many computer manufacturers and software producers continue to use the customary definitions. SI prefixes are universally used when referring to frequencies and data transfer rates, so for example a microprocessor clock frequency of 16 MHz means 16,000,000 Hz and a data transfer rate of 1 Mb/s means 1 megabit (1,000,000 bits) per second.
Adoption of the IEC recommended prefixes has been rather slow since their introduction in 1998, but their use is likely to continue to grow.
IEC Binary Prefixes
The following table shows the IEC recommended binary prefixes and their values.
Table 1: Recommended IEC binary prefixes.
|Ei||exbi||1,152,921,504,606,846,976||260 (or 1,0246)|
|Pi||pebi||1,125,899,906,842,624||250 (or 1,0245)|
|Ti||tebi||1,099,511,627,776||240 (or 1,0244)|
|Gi||gibi||1,073,741,824||230 (or 1,0243)|
|Mi||mebi||1,048,576||220 (or 1,0242)|
|Ki||kibi||1,024||210 (or 1,0241)|
Prefixes are derived by taking the first two characters from the related SI prefix (Ki, Me, Gi, etc.), followed by the first two characters of the word ‘binary’. Thus, for example, the binary prefix for 1,024 is Kibi, which is pronounced as ‘ki’ – ‘bee’. A block of 1,024 bytes would be referred to as 1 kibibyte, spoken as ‘one’ – ‘ki’ – ‘bee’ – ‘bite’, or shown in abbreviated form as 1 KiB. The following table shows commonly used binary prefixes and their recommended IEC equivalents.
Table 2: Customary binary prefixes and IEC recommended alternatives.
|Commonly Used Binary Prefix||IEC Equivalent Prefix||Value|
|TB (Terrabyte)||TiB (Tebibyte)||1,0244 bytes|
|GB (Gigabyte)||GiB (Gibibyte)||1,0243 bytes|
|MB (Megabyte)||MiB (Mebibyte)||1,0242 bytes|
|KB (Kilobyte)||KiB (Kibibyte)||1,024 bytes|
The US-based (NIST) provides a detailed range of information on the (or SI units), officially adopted , and the related role of .