|Orders of magnitude of data|
The kilobyte is a multiple of the unit byte for digital information. The International System of Units (SI) defines the prefix kilo as 1000 (10); therefore one kilobyte is 1000 bytes. The unit symbol for the kilobyte is kB. In information technology, particularly in reference to main memory capacity, kilobyte is traditionally used to denote 1024 (2) bytes. This arises from the powers-of-two sizing common to such memory in digital circuitry. In this context, the symbols K and KB are often used when 1024 bytes is meant.
Definitions and usage
This is the definition recommended by the International Electrotechnical Commission (IEC). This definition, and related definitions of prefixes mega- = 1000000, giga- = 1000000000, etc., are used for data transfer rates in computer networks, internal bus, hard drive and flash media transfer speeds, and for the capacities of most storage media, particularly hard drives, flash-based storage, and DVDs. It is also consistent with the other uses of the SI prefixes in computing, such as CPU clock speeds or measures of performance.
One byte is defined by IEC/80000-13 as 8 bits (1 B = bit). Therefore 1 kB = 8000 bit.
The kilobyte also often refers to 1024 (2) bytes. The usage of the metric prefix kilo for binary multiples arose as a convenience, because 1000 approximates 1024.
The binary interpretation of metric prefixes is still prominently used by the Microsoft Windows operating system, which is used on 90% of the world's personal computers. They are also used for random-access memory capacities, such as main memory and CPU cache sizes, due to the binary addressing of memory.
The binary representation of 1024 bytes typically uses the symbol KB (uppercase K). The B is often omitted in informal use. For example, a processor with 65,536 bytes of cache might be said to have "64K" of cache.
In December 1998, the IEC addressed such multiple usages and definitions by creating prefixes such as kibi, mebi, gibi, etc., to unambiguously denote powers of 1024. Thus the kibibyte, symbol KiB, represents 2 = 1024 bytes. These prefixes are now part of the International System of Quantities. The IEC further specified that the kilobyte should only be used to refer to 1000 bytes. In practice, kilobyte is still commonly used to refer to 1024 bytes.
- The Shugart SA-400 5 ⁄-inch floppy disk (1976) held 109,375 bytes unformatted, and was advertised as 110 Kbyte, using the 1000 convention. Likewise, the 8-inch DEC RX01 floppy (1975) held 256,256 bytes formatted, and was advertised as 256k. On the other hand, the Tandon 5 ⁄-inch DD floppy format (1978) held 368,640 (which is 360×1024) bytes, but was advertised as 360 KB, following the 1024 convention.
- On modern systems, all versions of Microsoft Windows including the newest (as of 2015) Windows 10 divide by 1024 and represent a 65,536-byte file as 64 KB. Conversely, Mac OS X Snow Leopard and newer represent this as 66 kB, rounding to the nearest 1000 bytes.