The kilobyte is a multiple of the unit byte for digital information. The prefix kilo means 1000 in the International System of Units (SI), therefore 1 kilobyte is 1000bytes. The recommended unit symbol for the kilobyte is kB or kbyte.
The kilobyte is often considered to be 1024 (210) bytes in some fields of computer science and information technology. This use has been discouraged by the major standards organizations and a new prefix system was defined by the International Electrotechnical Commission, which defines the kibibyte for this binary multiple and affirms the kilobyte as 1000bytes. However, the new standard has not entered common usage, and has been actively resisted by some in the fields of computer science and information technology because of aesthetic objections to the new prefixes.
Despite the prefix definitions of the International System of Units, the size of the kilobyte has traditionally been ambiguous. Electronic memory circuits use a binary architecture, which means that the number of addressable storage locations is a power of 2, and memory sizes are therefore not integer multiples (or fractions) of 1000, but of 1024. However, as 1024 (210) is approximately 1000, the established prefix symbol k (kilo) was used as a convenient prefix for memory capacities in multiples. On the other hand, for products where capacity factors were not bound to powers of two, such as magnetic disks (sector and track numbers) and networking equipment (bit rates), strict decimal-based units were used.
Some have suggested that the capitalized prefix "K" be used to distinguish this quantity from the SI prefix "k", but this has never been formally mandated. Further, it is not extensible to higher-order prefixes, as SI already uses the prefixes "m" and "M" to mean milli and mega, respectively. There are also proposals to capitalize all greater-than-unity prefixes (D, H, K, M, G, ...), which would conflict with this. See SI prefix.
These prefixes are therefore used with either decimal (powers of 1000) or binary (powers of 1024) values, depending on context:
- 1000 bytes (103): This definition is recommended for all uses by international standards organizations such as IEC, IEEE, and ISO, with the abbreviation "kB". This unit is common for quantities which are not based on powers of two, such as bitrates. This definition is used for storage quantities in software such as the Linux kernel and Mac OS X 10.6.
Full article ▸