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 is a multiple of the unit byte for digital information storage or transmission. 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. Historically the unit has also been used to denote 1024 (210) bytes in many fields of computer science and information technology, as digital system are based on multiples of powers of 2. This use however, has been discouraged by some standards organizations and a new unit was created, the kibibyte, as replacement for the binary multiple. The JEDEC memory standards however define kilo[byte], mega[byte] and giga[byte] to use multiples of powers of 2.

[edit] Ambiguity

The definition 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,[1] 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[2] and Mac OS X 10.6.[3]
  • 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[4] 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[5] and other standards organisations. To indicate a quantity of 1024 bytes, the term "kibibyte" ("KiB") has been recommended instead.[6][1] However the JEDEC memory standards define kilo, mega and giga to use powers of two values.

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

[edit] See also

[edit] References

  1. ^ 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)
  2. ^ Post on Linux Kernel Mailing List announcing the change.
  3. ^ "How Mac OS X reports drive capacity". Apple Inc. 2009-08-27. http://support.apple.com/kb/TS2419. Retrieved 2009-10-16. 
  4. ^ http://support.microsoft.com/kb/90994
  5. ^ The International System of Units (SI), 7th edition, 1998, section 3.1, page 103, marginal note
  6. ^ Prefixes for Binary Multiples — The NIST Reference on Constants, Units, and Uncertainty