- Order:
- Duration: 5:01
- Published: 16 Mar 2011
- Uploaded: 15 Jul 2011
- Author: Agilowen
In computing, a binary prefix is a specifier or mnemonic that is prepended to the units of digital information, the bit and the byte, to indicate multiplication by a power of 2. In practice the powers used are multiples of 10, so the prefixes denote powers of
The computer industry uses terms such as kilobyte, megabyte, and gigabyte, and corresponding symbols KB, MB, and GB, in two different ways. For example, in citations of main memory or RAM capacity, gigabyte customarily means bytes. This is a power of 2, specifically 230, therefore this usage is referred to as a binary unit or binary prefix.
In most other contexts, the industry uses kilo, mega, giga, etc., in a manner consistent with their meaning in the International System of Units (SI): as powers of 1000. For example, a 500 gigabyte hard drive holds bytes, and a 100 megabit per second Ethernet connection transfers data at bit/s.
Starting in about 1998, a number of standards and trade organizations approved standards and recommendations for a new set of binary prefixes, proposed earlier by the International Electrotechnical Commission (IEC), that would refer unambiguously to powers of 1024. According to these, the SI prefixes would only be used in the decimal sense, even when referring to data storage capacities: kilobyte and megabyte would denote one thousand bytes and one million bytes respectively (consistent with SI), while new terms such as kibibyte, mebibyte and gibibyte, abbreviated KiB, MiB, and GiB, would denote 1024 bytes, bytes, and bytes respectively. For example, the IBM 701 (1952) used binary and could address 2048 36-bit words, while the IBM 702 (1953) used decimal and could address 7-bit words.
By the mid 1960s, binary addressing had become the standard architecture in most computer designs, and main memory sizes were most commonly powers of two. This is the most natural configuration for memory, as all combinations of their address lines map to a valid address, allowing easy aggregation into a larger block of memory with contiguous addresses.
Early computer system documentation would specify the memory size with an exact number such as 4096, 8192, or 16384 words of storage. These are all powers of 2, and furthermore are small multiples of 210, or 1024. As storage capacities increased, several different methods were developed to abbreviate these quantities.
The method most commonly used today uses prefixes such as kilo, mega, giga, and corresponding symbols K, M, and G, which the computer industry originally adopted from the metric system. The prefixes kilo- and mega-, meaning 1000 and respectively, were commonly used in the electronics industry before World War II. Along with giga- or G-, meaning , they are now known as SI prefixes Gene Amdahl's seminal 1964 article on IBM System/360 used 1K to mean 1024. This style was used by other computer vendors, the CDC 7600 System Description (1968) made extensive use of K as 1024. Thus the first binary prefix was born. (If these values had been rounded they would have become 33K, 66K, and 131K, respectively.) This style was used from about 1965 to 1975.
These two styles (K = 1024 and truncation) were used loosely around the same time, sometimes by the same company. In discussions of binary-addressed memories, the exact size was evident from context. (For memory sizes of 32K and below, there is no difference between the two styles.) The HP 21MX real-time computer (1974) denoted (which is 192×1024) as 196K and as 1M, while the HP 3000 business computer (1973) could have 64K, 96K, or 128K bytes of memory.
The "truncation" method gradually waned. Capitalization of the letter K became the de facto standard for binary notation, although this could not be extended to higher powers. Nevertheless, the practice of using the SI-inspired "kilo" to indicate 1024 was later extended to "megabyte" meaning 10242 () bytes, and later "gigabyte" for 10243 () bytes. For example, a "512 megabyte" RAM module is 512×10242 bytes (512×, or ), rather than .
The symbols Kbit, Kbyte, Mbit and Mbyte started to be used as "binary units"—"bit" or "byte" with a multiplier that is a power of 1024—in the early 1970s. For a time, memory capacities were often expressed in K, even when M could have been used: The IBM System/370 Model 158 brochure (1972) had the following: "Real storage capacity is available in 512K increments ranging from 512K to 2,048K bytes."
Megabyte was used to describe the 22-bit addressing of DEC PDP-11/70 (1975) and gigabyte the 30-bit addressing DEC VAX-11/780 (1977).
In the 1960s most disk drives used IBM's variable block length format (called Count Key Data or "CKD"). Any block size could be specified up to the maximum track length. Since the block headers occupied space, the usable capacity of the drive was dependent on the block size. Blocks ("records" in IBM's terminology) of 88, 96, 880 and 960 were often used because they related to the fixed block size of punch cards. The drive capacity was usually stated under conditions of full track record blocking. For example, the 100 megabyte 3336 disk pack only achieved that capacity with a full track block size of 13,030 bytes.
Hard disk drive manufacturers used "megabytes" or "MB", meaning 106 bytes, to characterize their products as early as 1974. By 1977, in its first edition, Disk/Trend, a leading hard disk drive industry marketing consultancy segmented the industry according to MBs (decimal sense) of capacity.
One of the earliest hard disk drives in personal computing history, the Seagate ST-412, was specified as "Formatted: 10.0 Megabytes". The specification of 4 heads or active surfaces (tracks per cylinder), 306 cylinders and when formatted with a sector size of 256 bytes and 32 sectors/track results in a capacity of bytes. With the customary binary prefixes, and extensively advertised and reported as a "10 MB" (formatted) hard disk drive.
The hard drive industry continues to use decimal prefixes for drive capacity. Today, for example, a "300 GB" hard drive offers slightly more than 300×109, or , bytes, not 300×230 (which would be about 322×109). Operating systems such as Microsoft Windows that display hard drive sizes using the customary binary prefix "GB" (as it is used for RAM) would display this as 279.4 GB (meaning 279.4×10243, or 279.4×).
However, other usages still occur. For example, in one document, Seagate specifies data transfer rates of some of its hard drives in both IEC and decimal units. "Advanced Format" drives using 4096-byte sectors are described as having "4K sectors."
Computer clock frequencies are always quoted using SI prefixes in their decimal sense. For example, the internal clock frequency of the original IBM PC was 4.77 MHz, that is, Hz.
Similarly, digital information transfer rates are mostly quoted using decimal prefixes: The ATA-100 disk interface refers to 1x CD-ROM CD-ROM speed is 150K or A "56K" modem refers to SATA-2 has a raw bit rate of 3 Gbit/s = PC2-6400 ram transfers Firewire 800 has a raw rate of As of 2011, Seagate specifies the transfer speed of some hard disk drives with IEC binary prefixes as well as decimal.
The dual usage of the kilo, mega, and giga prefixes and their corresponding symbols K, M, and G as both powers of 1000 and powers of 1024 was recorded in standards and dictionaries. For example, the 1986 ANSI/IEEE Std 1084-1986 defined dual uses for kilo and mega. The binary units Kbyte and Mbyte were formally defined in ANSI/IEEE Std 1212-1991.
Many dictionaries have noted the practice of using traditional prefixes to indicate binary multiples. Oxford online dictionary defines, for example, megabyte as: "Computing: a unit of information equal to one million or (strictly) ."
The units Kbyte, Mbyte, and Gbyte are found in the trade press and in IEEE journals. Gigabyte was formally defined in IEEE Std 610.10-1994 as either or 230 bytes. Kilobyte, Kbyte, and KB are equivalent units and all are defined in the current standard, IEEE 100-2000. Byte multiples using powers of 1024 up to yottabyte are given by the on-line computing dictionary FOLDOC (Free On-Line Dictionary of Computing).
The hardware industry has coped with the dual definitions because of relative consistency: system memory (RAM) typically uses the binary meaning while magnetic disk storage uses the SI meaning. There are, however, exceptions and special cases. Diskettes use yet another "megabyte" equal to 1024×1000 bytes.
One source of consumer confusion is the difference in the way many operating systems display hard drive sizes, compared to the way hard drive manufacturers describe them. As noted previously, hard drives are described and sold using "GB" or "TB" in their SI meaning: one billion and one trillion bytes. Many current operating systems and other software however display hard drive and file sizes using "MB", "GB" or other SI-looking prefixes in their "binary" meaning, just as they do for displays of RAM capacity. (This is fairly recent. The presentation of hard disk drive capacity by an operating system using "MB" in a binary sense appears no earlier than Macintosh Finder 7.0 beginning 1991. Prior to that, on most systems that had a hard disk drive, capacity was presented in decimal digits with no prefix of any sort (e.g., MS/PC DOS CHKDSK command).)
The following three images show the discrepancy of reporting the identical disk capacity on the manufacturer's packaging (160 GB = 160×10003), the Windows XP disk manager (149.05 GB = 149.05×10243), and the drive properties display ( = ×10242).
Vroegh claimed that a 256 MB Flash Memory Device had only 244 MB of accessible memory. "Plaintiffs allege that Defendants marketed the memory capacity of their products by assuming that one megabyte equals one million bytes and one gigabyte equals one billion bytes." The plaintiffs wanted the defendants to use the traditional values of 10242 for megabyte and 10243 for gigabyte. The plaintiffs acknowledged that the IEC and IEEE standards define a MB as one million bytes but stated that the industry has largely ignored the IEC standards.
The manufacturers agreed to clarify the flash memory card capacity on the packaging and web sites. The consumers could apply for "a discount of ten percent off a future online purchase from Defendants' Online Stores Flash Memory Device".
Although Western Digital maintained that their usage of units is consistent with "the indisputably correct industry standard for measuring and describing storage capacity", and that they "cannot be expected to reform the software industry", they agreed to settle in March 2006 with 14 June 2006 as the Final Approval hearing date.
Western Digital offered to compensate customers with a free download of backup and recovery software valued at US$30. They also paid $500,000 in fees and expenses to San Francisco lawyers Adam Gutride and Seth Safier, who filed the suit. The settlement called for Western Digital to add a disclaimer to their later packaging and advertising.
Several proposals for unique binary prefixes were made in 1968. Donald Morrison proposed to use the Greek letter kappa (κ) to denote 1024, κ2 to denote 1024×1024, and so on. (At the time, memory size was small, and only K was in widespread use.) Wallace Givens responded with a proposal to use bK as an abbreviation for 1024 and bK2 or bK2 for 1024×1024, though he noted that neither the Greek letter nor lowercase letter b would be easy to reproduce on computer printers of the day. Bruce A. Martin further proposed that the prefixes be abandoned altogether, and the letter B be used as a binary exponent, similar to E notation, to create shorthands like 3B20 for 3×220
None of these gained much acceptance, and capitalization of the letter K became the de facto standard for indicating a factor of 1024 instead of 1000, although this could not be extended to higher powers.
As the discrepancy between the two systems increased in the higher order powers, more proposals for unique prefixes were made. In 1996, Markus Kuhn proposed a system with di prefixes, like the "dikilobyte" (K₂B or K2B).
The Institute of Electrical and Electronic Engineers (IEEE) began to collaborate with the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC) to find acceptable names for binary prefixes. The IEC proposed kibi, mebi, gibi and tebi, with the symbols Ki, Mi, Gi and Ti respectively, in 1996.
The names for the new prefixes are derived from the original SI prefixes combined with the term binary, but contracted, by taking the first two letters of the SI prefix and 'bi' from binary. The first letter of each such prefix is therefore identical to the corresponding SI prefixes, except for "K", which is used interchangeably with "k", whereas in SI, only the lower-case k represents 1000.
The IEEE decided that their standards would use the prefixes kilo, etc. with their metric definitions, but allowed the binary definitions to be used in an interim period as long as such usage was explicitly pointed out on a case-by-case basis.
The IEC 60027-2 Amendment 2 also states that the IEC position is the same as that of BIPM (the body that regulates the SI system); the SI prefixes retain their definitions in powers of 1000 and are never used to mean a power of 1024.
In usage, products and concepts typically described using powers of 1024 would continue to be, but with the new IEC prefixes. For example, a memory module of bytes (512×) would be referred to as 512 MiB or 512 mebibytes instead of 512 MB or 512 megabytes. Conversely, since hard drives have historically been marketed using the SI convention that "giga" means , a "500 GB" hard drive would still be labeled as such. According to these recommendations, operating systems and other software would also use binary and SI prefixes in the same way, so the purchaser of a "500 GB" hard drive would find the operating system reporting either "500 GB" or "466 GiB", while bytes of RAM would be displayed as "512 MiB".
The second edition of the standard, published in 2000, defined them only up to exbi, but in 2005, the third edition added prefixes zebi and yobi, thus matching all SI prefixes with binary counterparts.
The harmonized ISO/IEC IEC 80000-13:2008 standard cancels and replaces subclauses 3.8 and 3.9 of IEC 60027-2:2005 (those defining prefixes for binary multiples). The only significant change is the addition of explicit definitions for some quantities.
The United States National Institute of Standards and Technology (NIST) supports the ISO/IEC standards for "Prefixes for binary multiples" and has a web site documenting them, describing and justifying their use. NIST suggests that in English, the first syllable of the name of the binary-multiple prefix should be pronounced in the same way as the first syllable of the name of the corresponding SI prefix, and that the second syllable should be pronounced as bee. NIST has stated the SI prefixes "refer strictly to powers of 10" and that the binary definitions "should not be used" for them.
In December 2002, JEDEC, a leading standards organization in the microelectronics industry, mentioned the IEC prefixes in their Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits document. This document defines "kilo," "mega," and "giga" with binary multipliers. A "Note" to this definition then states that that definition is only presented "to reflect common usage", and quotes the IEC in describing the binary prefixes as "an alternative system". However, subsequent memory standards published by JEDEC still define and use the prefixes kilo, mega, and giga as binary multipliers.
On 19 March 2005, the IEEE standard IEEE 1541-2002 ("Prefixes for Binary Multiples") was elevated to a full-use standard by the IEEE Standards Association after a two-year trial period. However, , the IEEE Publications division does not require the use of IEC prefixes in its major magazines such as Spectrum or Computer.
The International Bureau of Weights and Measures (BIPM), which maintains the International System of Units (SI), expressly prohibits the use of SI prefixes to denote binary multiples, and recommends the use of the IEC prefixes as an alternative since units of information are not included in SI.
The Society of Automotive Engineers (SAE) prohibits the use of SI prefixes with anything but a power-of-1000 meaning, but does not recommend or otherwise cite the IEC binary prefixes.
The European Committee for Electrotechnical Standardization (CENELEC) adopted the IEC-recommended binary prefixes via the harmonization document HD 60027-2:2003-03. The European Union (EU) has required the use of the IEC binary prefixes since 2007.
Nearly all articles, papers, and marketing materials in the industry continue to use the customary binary prefixes when referring to computer memory, even those published under the aegis of organizations that have shown support for the IEC prefixes.
In the following subsections, unless otherwise noted, examples are first given using the common prefixes used in each case, and then followed by interpretation using other notation where appropriate.
The Linux kernel uses binary prefixes when booting up. However, many Unix-like system utilities like the ls command, use powers of 1024 indicated as KB/MB (customary binary prefixes). The Ubuntu OS uses the IEC prefixes for base-2 numbers as of the 10.10 release.
One of the stated goals of the introduction of the IEC prefixes was "to preserve the SI prefixes as unambiguous decimal multipliers."
Example of the use of IEC binary prefixes in the Linux operating system displaying traffic volume on a network interface in kibibytes (KiB) and mebibytes (MiB), as obtained with the ifconfig utility:
eth0 Link encap:Ethernet HWaddr 00:14:A0:B0:7A:42 inet6 addr: 2001:491:890a:1:214:a5ff:febe:7a42/64 Scope:Global inet6 addr: fe80::214:a5ff:febe:7a42/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:254804 errors:0 dropped:0 overruns:0 frame:0 TX packets:756 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:18613795 (17.7 MiB) TX bytes:45708 (44.6 KiB)
Software that uses standard SI prefixes for powers of 1000, but not IEC binary prefixes for powers of 1024, includes:
Mac OS X v10.6 and later for hard drive and file sizes
Software that uses IEC binary prefixes for powers of 1024 and uses standard SI prefixes for powers of 1000 includes:
GNU Core Utilities Flyspray bugs.mysql.com GParted DFSee disktype raidutil FreeDOS-32 ifconfig GNOME Network SLIB Cygwin/X HTTrack
Pidgin (IM client) Deluge zFTPServer yafc tnftp WinSCP MediaInfo
Measurements of most types of electronic memory such as RAM, ROM are given using customary binary prefixes (kilo, mega, and giga). This includes some Flash memory, like EEPROMs. For example, a "512 megabyte" memory module is 512×220 bytes (512×, or ).
JEDEC Solid State Technology Association, the semiconductor engineering standardization body of the Electronic Industries Alliance (EIA), continues to include the customary binary definitions of kilo, mega and giga in their Terms, Definitions, and Letter Symbols document,
The last widely adopted diskette was the 3½ inch high density. This has a formatted capacity of bytes or 1440 KB (1440×1024, using "KB" in the customary binary sense). These are marketed as "HD", or "1.44 MB" or both. This case defines a "third megabyte" of 1000×1024.
Most operating systems display the capacity using "MB" in the customary binary sense, resulting in a display of "1.4 MB" (1.40625 MB). Some users have noticed the missing 0.04 MB and both Apple and Microsoft have support bulletins referring to them as 1.4 MB.
The earlier 1200 KB (1200×1024) 5¼ inch diskette sold with the IBM PC AT was marketed as 1.2 MB (1.171875 MiB). The largest 8 inch diskette formats could contain more than a megabyte, and the capacities of those devices were often irregularly specified in megabytes, also without controversy.
Older and smaller diskette formats were usually identified as an accurate number of (binary) KB, for example the Apple Disk II described as 140KB had a 140×1024 byte capacity, and the original "360KB" double sided, double density disk drive used on the IBM PC had a 360×1024 byte capacity.
In many cases diskette hardware was marketed based on unformatted capacity, and the overhead required to format sectors on the media would reduce the nominal capacity as well (and this overhead typically varied based on the size of the formatted sectors), leading to more irregularities.
Bus clock speeds and therefore bandwidths are both quoted using SI decimal prefixes.
PC3200 memory on a double data rate bus, transferring 8 bytes per cycle with a clock speed of 200 MHz ( per second) has a bandwidth of = = 3.2 GB/s (about 3.0 GiB/s). A PCI-X bus at 66 MHz ( per second), 64 bits per transfer, has a bandwidth of = , or , usually quoted as 528 MB/s (about 503 MiB/s).
Category:Measurement Category:Naming conventions Category:Prefixes Category:Units of information Category:Numeration
This text is licensed under the Creative Commons CC-BY-SA License. This text was originally published on Wikipedia and was developed by the Wikipedia community.