Kilobyte

From Wikipedia, the free encyclopedia

Jump to: navigation, search
Prefixes for bit and byte multiples
Decimal
Value SI
1000 k kilo
10002 M mega
10003 G giga
10004 T tera
10005 P peta
10006 E exa
10007 Z zetta
10008 Y yotta
Binary
Value IEC JEDEC
1024 Ki kibi K kilo
10242 Mi mebi M mega
10243 Gi gibi G giga
10244 Ti tebi
10245 Pi pebi
10246 Ei exbi
10247 Zi zebi
10248 Yi yobi

The kilobyte (derived from the SI prefix "kilo-", meaning 1,000) is a unit of digital information storage equal to either 1,000 bytes (103) or 1,024 bytes (210), depending on context.

It is abbreviated in a number of ways: KB, kB, K and Kbyte.

[edit] Ambiguity

The exact number of bytes in a kilobyte has traditionally been ambiguous. Locations in electronic memory circuits are identified by binary numbers, which means that the number of addressable locations naturally becomes a power of 2, and memory sizes are therefore not integer multiples (or fractions) of 1000. However, as 210 = 1024 ≈ 1000, the established "k" (for "kilo") was early on employed as a convenient "approximate" prefix for memory capacities in multiples of 1024. On the other hand, for products where (some) capacity factors were not equally 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:

  • 1024 bytes (210): This unit is used when expressing quantities which are based on powers of two, such as memory chip capacities. Software like Microsoft Windows[1] also expresses storage quantities in units of 1024 bytes. Although the use of "kilobyte" for this unit is common, this usage has been expressly forbidden by the SI standard[2] and other standards organisations. To indicate a quantity of 1024 bytes, the term "kibibyte" ("KiB") has been recommended instead.[3][4]
  • 1000 bytes (103): This definition is recommended for all uses by international standards organizations such as IEC, IEEE, and ISO,[4] 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[5] and Mac OS X 10.6.[6]

The abbreviation "kb" has historically been used for both "kilobyte" and "kilobit". Using an uppercase B for byte ("kB") and "bit" for a binary digit ("kbit") prevents this ambiguity.

[edit] See also

[edit] References

  1. ^ http://support.microsoft.com/kb/90994
  2. ^ The International System of Units (SI), 7th edition, 1998, section 3.1, page 103, marginal note
  3. ^ Prefixes for Binary Multiples — The NIST Reference on Constants, Units, and Uncertainty
  4. ^ a b IEEE Std 260.1-2004, IEEE Standard Letter Symbols for Units of Measurement (SI Units, Customary Inch-Pound Units, and Certain Other Units), Revision of IEEE Std 260.1-1993 (IEEE, New York, 2004)
  5. ^ Post on Linux Kernel Mailing List announcing the change.
  6. ^ "How Mac OS X reports drive capacity". Apple Inc. 2009-08-27. http://support.apple.com/kb/TS2419. Retrieved 2009-10-16.