In computing, binary prefixes are names or associated symbols that can precede a unit of measure (such as a byte) to indicate multiplication by a power of two. In certain contexts in computing (such as computer memory sizes), it's convenient to express large quantities in terms of multiples of the unit by powers of two.
As the binary multipliers 1,024 (210), 1,048,576 (220) (etc.) are close to certain SI prefixes such as kilo- (1000 = 103) and mega- (1,000,000 = 106) respectively, it has been traditional in some settings to use these prefixes for the binary meanings, that is, to use "mega" (or the symbol, M) to mean 1,048,576 instead of 1,000,000 and so on. However, these prefixes have the decimal meanings in every other context, for example, when used with SI units. Further, certain areas of computing have always used these prefixes to mean decimal multipliers, and not in the binary sense (for example when specifying quantities of individual bits on a serial transmission medium.) This has led to ambiguity on what these prefixes mean. Nevertheless, the use of the SI prefixes as binary multipliers is still common in some areas: the standards body for the semiconductor engineering industry, the JEDEC, defines "prefix to units of semiconductor storage capacity" using powers of two, clarifying in a note that the binary definitions are included "only to reflect common usage". In the 1950s, computer engineers were familiar with the terms kilo (k) and mega (M). It was common to see 4.7k for a 4700 ohm resistor or 10Mc for a 10 megacycle (megahertz) frequency. It was natural to borrow the term k to express large quantities of storage. A reference to a "4k IBM 1401" meant 4,000 characters of storage (memory).
By the mid 1960s, binary addressing had become the standard architecture in computer design. The computer system documentation would specify the memory size with an exact number such as 32,768, 65,536 or 131,072 words of storage (all powers of 2). There were several methods used to abbreviate these quantities. The use of K in the binary sense as in a "32K store" can be found as early as 1960. 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 7600System Description (1968) made extensive use of K as 1024. Another style was to truncate the last 3 digits and append K. The exact values 32,768, 65,536 and 131,072 would then become 32K, 65K and 131K. (If 32,768 were instead rounded off, it would be 33K; if K = 1024 were used, 65,536 would become "64K".) 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.) The HP 21MX real-time computer (1974) denoted 196,608 as 196K and 1,048,576 as 1 M, while the HP 3000 business computer (1973) could have 64K, 96K, or 128K bytes of memory.
The terms Kbit, Kbyte, Mbit and Mbyte started to be used as binary units in the early 1970s. Most memory capacities were 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 VAX11/780 (1977).
By the mid 1970s it was common to see K (e.g Kbyte) meaning 1,024 and the occasional M (for example Mbyte) as 1,048,576 for words or bytes of computer memory (RAM) while K and M were commonly used with their decimal meaning for disk storage. In the 1980s the term G (for example GB) with decimal meaning was commonly applied to disk storage while M in its binary meaning became common for computer memory. In the 1990s G in its binary meaning became common usage for computer memory. The first TB hard disk drive (terabyte, decimal meaning) was introduced in 2007.
The dual use of these prefixes as both decimal and binary quantities was defined in standards and dictionaries. The ANSI/IEEE Std 1084-1986 is still available for reference and defined kilo and mega. (The term "computer storage" means system memory.) The terms 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 1,000,000,000 or 230 bytes. Kilobyte, Kbyte, and KB are equivalent units and all are defined in the current standard, IEEE 100-2000.
The industry has coped with the dual definitions because system memory (RAM) typically uses the binary meaning while disk storage uses the decimal meaning. There are exceptions like diskettes and CDs. There are no SI units for computer storage capacity but the decimal prefix meanings of KB, MB, and GB are often referred to as SI prefixes.
While computer scientists typically used k to mean 1000, they recognized the convenience that would result from working with powers of 1024 and the confusion that resulted from using the same abbreviation for two definitions. Several proposals for unique symbols were made in 1968. (At the time, memory size was small, and only K was in widespread use.) Donald Morrison proposed to use the Greek letter κ to denote 1024, κ² to denote 1024×1024, and so on. Bruce A. Martin further proposed that the units 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 binary notation, though this couldn't be extended to higher powers. Later, as the discrepancy between the two systems increased, more proposals for unique units were made. Donald Knuth, who used decimal notation like 1 MB = 1000 kB, proposed that the powers of 1024 be designated as "large kilobytes" and "large megabytes" (abbreviated KKB and MMB).
In January 1999, the International Electrotechnical Commission introduced the prefixes kibi- (kibibyte), mebi-, gibi-, etc., and the symbols Ki, Mi, Gi, etc. to specify binary multiples of a quantity and eliminate this ambiguity.
The names for the new standard are derived from the original SI prefixes followed by "binary", such as "kilobinary", and can be shortened to a prefix like "kibi-". The new standard also clarifies that, from the point of view of the IEC, the SI prefixes will henceforth only have their base-10 meaning and never have a base-2 meaning.
The second edition of the standard defined them only up to exbi-, but in 2005, the third edition added prefixes zebi- and yobi-, thus matching all SI prefixes with their binary counterparts.
On March 19, 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.
Consumer confusion
In the early days of computers there was little or no consumer confusion because of the sophisticated nature of the consumers and the practice of the computer manufacturers to specify (as opposed to advertise) their products with decimal digits of sufficient places, for example, the 1968 IBM stated System 360 "Model 91s can accommodate up to 6,291,496 bytes of main storage."
Hard disk drive manufacturers used MB, for example 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.
The presentation of hard disk drive capacity by an operating system using MB in a binary sense appears no earlier than Macintosh Finder after 1984. Prior to that, on the systems that had a hard disk drive, capacity was presented in decimal digits with no prefix of any sort (for example, MS/PC DOS CHKDSK command).
See, for example, the following three images; consumers may be confused by the difference between the 160 GB on the disk drive package and the 149.05 GB reported by the operating system.
Image:Seagate 160 GB hard drive box.jpg|This hard disk can hold 160×109 bytes, and is marketed using standard SI prefixes as "160 GB"
Image:Windows XP Disk management for 160 GB disk.png|Windows XP lists the capacity of a 160×109 byte disk drive as "149.05 GB" (binary).
Image:DOS310_Chkdsk.JPG|Screen shot of PC-DOS 3.10 CHKDSK showing disk drive size in decimal digits without prefixes of any sort (or even commas).
Traditional binary prefixes
Quantities that are multiples of the unit by a power of 2 are sometimes indicated using nearby SI prefixes, such as using kilo- (the SI prefix for 1000) to indicate 210=1024. Although this usage is now deprecated by some standards bodies, the prefixes kilo-, mega- and giga- are defined by the JEDEC, with the caveat The definitions of kilo, giga, and mega based on powers of two are included only to reflect common usage. As of 2008 both the binary and decimal definitions are widely used. Prefixes of value higher than 10243 (giga) are not defined by JEDEC. Byte multiples using binary powers up to yottabyte are given by the on-line computing dictionary FOLDOC.
The one-letter symbols are identical to SI prefixes, except for "K", which is used interchangeably with "k" (in SI, only the lower-case "k" represents 1,000).
These prefixes are in common use in contexts such as file and memory sizes. The names and values of the SI prefixes were defined in the 1960 SI standard, with powers-of-1000 values. Standard dictionaries do recognize the binary meanings for these prefixes. Oxford online dictionary defines, for example, megabyte as: "Computing a unit of information equal to one million or (strictly) 1,048,576 bytes."
BIPM (the International Bureau of Weights and Measures which maintains SI) expressly prohibits the binary prefix usage, and recommends the use of the IEC prefixes as an alternative since computing units are not included in SI.
Some have suggested that "k" be used for 1,000, and "K" for 1,024, but this can't be extended to the higher order prefixes and has never been widely recognised.
Although the SI prefixes denoting fractions of a bit or byte might theoretically find application in areas such as cryptography, data compression, and data transfer rates, they're not used in practice.
Informally, the prefixes are often used on their own. Thus one might hear about a "256K DRAM" (256 binary kilobytes), "a 160 MB HDD" (160 decimal megabytes) or "a 2M Internet connection" (2 decimal megabits per second). What units are being used, and whether the multipliers are decimal or binary, depends on context and can't be determined by the units alone.
Image:Windows XP Drive Properties for 160 GB disk.png|Windows XP lists the capacity of a 160×109 byte disk drive as "152625 MB" (binary).
Image:Windows XP C partition properties.png|Windows XP used to list the size of a 73×109 byte disk drive partition as "68.1 GB" (binary).
IEC standard prefixes
In 1999, the IEC introduced the following set of prefixes for binary multipliers.
Name
Symbol
Base 2
Base 16
Base 10
kibi
Ki
210
162.5
400(16)
1,024
> 103
mebi
Mi
220
165
10 0000(16)
1,048,576
> 106
gibi
Gi
230
167.5
4 000 0000(16)
1,073,741,824
> 109
tebi
Ti
240
1610
100 0000 0000(16)
1,099,511,627,776
> 1012
pebi
Pi
250
1612.5
4 0000 0000 0000(16)
1,125,899,906,842,624
> 1015
exbi
Ei
260
1615
1000 0000 0000 0000(16)
1,152,921,504,606,846,976
> 1018
zebi
Zi
270
1617.5
40 0000 0000 0000 0000(16)
1,180,591,620,717,411,303,424
> 1021
yobi
Yi
280
1620
1 0000 0000 0000 0000 0000(16)
1,208,925,819,614,629,174,706,176
> 1024
Example: 300 GB ≅ 279.5 GiB.
Approximate ratios between binary and decimal prefixes
As the order of magnitude increases, the percentage difference between the binary and decimal values of a prefix increases, from 2.4% (with the kilo prefix) to over 20% (with the yotta prefix). This makes differentiating between the two increasingly important as larger and larger data storage and transmission technologies are developed.
As of 2007, the IEC binary naming convention has been adopted by some, but isn't used universally. Most publications, computer manufacturers and software companies are still using the traditional binary units defined in IEEE 100, The Authoritative Dictionary of IEEE Standards Terms, Seventh Edition, 2000.
The new binary prefixes have also been adopted by the European Committee for Electrotechnical Standardization (CENELEC) as the harmonization document HD 60027-2:2003-03.
This document will be adopted as a European standard.
The prefixes are beginning to be used in technical articles and software where it's important to avoid ambiguity. Examples of software that use IEC standard prefixes (along with standard SI prefixes) include:
Note that one of the stated goals of the introduction of the binary prefixes was "to preserve the SI prefixes as unambiguous decimal multipliers."
Pronunciation
It is suggested 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." continues to include definitions in the binary sense K, M and G as prefixes to units of semiconductor memory (see JEDEC memory standards), noting that these definitions are “only included to reflect common usage” and noting that ‘IEEE/ASTM SI 10-1997 states “This practice frequently leads to confusion and is deprecated.”’. All standards published by JEDEC use the common usage, including end-user packaging recommendations for memory chips.
Many computer programming tasks naturally reference memory in terms of powers of two. For example, a 16-bit pointer can reference at most 65,536 items (bytes, words, or other objects), or an operating system might map memory in terms of 4,096-byte pages, in which case exactly 8,192 pages could be allocated within 33,554,432 bytes of hardware memory. It is convenient to informally express these numbers, respectively, as 64K items, or as 8K pages of 4 Kbytes (KiB) each within 32 MBytes (MiB) of memory. A programmer can easily mentally calculate that "8K × 4K is 32 meg" and get it exactly right, within this powers-of-two context. This convenience is likely one source of originally adapting "kilo" and "mega" from SI as shorthand for 1,024 and 1,048,576, as specialized jargon within a segment of the industry.
Almost all computer user tasks (and many high-level programming tasks) have no natural affinity or need for explicit powers of two. The consumer confusion between powers of 1000 and powers of 1024 may derive largely from some operating systems and applications that were originally written by and for programmers, and which thus reported quantities such as file sizes in familiar (to programmers) powers of 1024 while using SI (powers of 1000) abbreviations. Without such reporting, most users might not have been substantially exposed to powers of 1024, as the net memory available to users after various overheads is rarely a power of two. This legacy behavior of operating systems reporting sizes in powers of 1024 has continued to this day (in 2008) even in many GUI oriented operating systems intended mainly for non-programmers.
Files
Prior to the AppleMac OS (for example, 1984) file sizes were typically reported by the operating system in decimal digits without prefixes of any sort (for example MS-DOS, Apple DOS, IBM VMS, UNIX, CP/M, etc.). Today most operating systems report file size with powers of 1024 indicated as KB/MB/... (with or without the B); however, some systems also report decimal digits (for example Microsoft Windows) and some give provide flags to allow binary or decimal prefixes (for example some UNIXes).
Some verified examples in alphabetical order:
GNU/Linux uses 1024 for command line and file manager. The lscommand reports a 2021-byte file as 2021 with "ls -l" (to get the exact number of bytes), 2.0K with "ls -lh" (with powers of 1024 by default), or as 2.1k with "ls -lh --si" (with --si to explicitly ask for powers of 1000, note the lower-case k), evidently rounding up all values according to the number of decimals reported. The file manager on the verified versions (GNOME Nautilus) reports this same file as having size "2.0 KB".
Microsoft Windows 2000 version 5.00.2195 Service Pack 2 and XP version 2002 Service Pack 2 as displayed in Windows Explorer and elsewhere.
Sun MicrosystemsSolaris uses 1024 for command line and file manager. The ls command reports a 2021-byte file as 2021 with "ls -l" (to get the exact number of bytes), 2.0K with "ls -lh" (with only powers of 1024 available), evidently rounding up all values according to the number of decimals reported. The file manager on the Java Desktop System on the verified versions (GNOME Nautilus) reports this same file as having size "2.0 KB".
Hard disk drives
HDD manufacturers mostly state capacity in decimal units. This usage has a long tradition, even predating the SI system of decimal prefixes adopted in 1960, as follows:
The first disk drive the IBM 350 (1950s) had 5 million 6 bit characters organized in 100 character sectors (for example, blocks). This predates the SI system.
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. 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 in 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.
CKD continued into the 1990s and perhaps into this day. In the 1970s and 1980s most drives were specified with unformatted tracks (the unformatted capacity) with the particular block size and formatted capacity a function of the controller design. For example, the ST412 of IBM PC/XT fame had an unformatted capacity of 12.75 MB (12.75×106B) and with the Xebec controller and 512 byte blocks it formatted to and was advertised as a 10.0 MB (10.0×106 B) HDD. Other controllers supported other block sizes resulting in other formatted capacities.
The advent of intelligent interfaces (SCSI and IDE) in the early 1990s took the block size decision into the drive and virtually all chose 512 bytes, for no reason other than that was what IBM had chosen when they picked the Xebec controller for the PC/XT. Capacity continued to be specified by the HDD manufacturers with SI prefix definitions.
As of January 2007, most, if not all, HDD manufacturers continue to use decimal prefixes to identify capacity.
Flash drives
USB Flash Drive and Flash-based memory cards like CompactFlash and Secure Digital are typically classified in "powers of two" multiples of decimal megabytes; for example, a "256 MB" card would hold 256 million bytes.
Although the devices usually have at least the expected byte capacity, each manufacturer allocates different portions of the device's ultimate capacity for such things as wear levelling.
Floppy drives
Floppy disk drive and media manufacturers use decimal units for unformatted recording capacity while most computer operating systems use binary units to measure the formatted capacity. The original IBM Personal Computer (1981) used a 5¼ inch floppy disk drive. The single sided drive was rated at 250 kilobytes (unformatted) and the double sided version was rated at 500 kilobytes.
A 5¼ inch diskette recorded at double density (MFM) will hold 6,250 bytes per track and has 40 tracks per side, yielding 250,000 bytes per side. To make it practical to record smaller blocks of data, the tracks are formatted into sectors with gaps between them. The gaps allow individual sectors to be recorded without overwriting adjacent sectors. Each sector also has additional header bytes to identify the sector.
With IBM PC-DOS 1.0 and 1.1, each track has 8 sectors of 512 bytes and this provides 163,840 bytes per side (8 × 512 × 40). The IBM user documentation referred to this as "160KB" for single sided diskette and "320KB" for double sided diskette. Starting with PC-DOS 2.0 (1983), each track had 9 sectors of 512 bytes. The formatted capacity was increased to 184,320 bytes per side or 368,640 bytes per diskette. The IBM documentation referred to these as "180KB" and "360KB" diskettes. The same drives and media can have different capacities depending on format.
On all diskettes the capacity available to the user will be smaller that the total number of sectors because some are reserved by the operating system for boot records or directory tables.
The IBM Personal Computer/AT (1984) had a new 5¼ inch disk drive that had 80 tracks per side, rotated at 360 rpm (versus 300 rpm) and had a new diskette media. The formatted capacity was 1,228,800 bytes or 1200 KB. (80 tracks × 15 sectors × 512 bytes × 2 sides)
The IBM PC Convertible (1986) used the 3½ inch diskettes. These were similar in recording technology to the original 5¼ inch drives except they'd 80 tracks per side. The formatted capacity was 737,280 bytes or 720 KB. Apple used the same disk with a different recording technology, GCR, that gave a formatted capacity of 819,200 bytes or 800 KB. Apple referred to this as an "800K" disk.
The last widely adopted diskette was the 3½ inch high density. This has twice the capacity as the 720 KB diskettes, 1,474,560 bytes or 1440 KB. The drive was marketed as 1.44 MB when a more accurate value would have been 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. However, the capacities of other optical disc storage media like DVD, Blu-ray Disc, HD DVD are given in decimal units. A "4.7 GB" DVD has a nominal capacity of about 4.38 GiB.
Buses
Bus clock speeds and therefore bandwidths are both given in decimal units. For example, "PC3200" memory on a double pumped bus, transferring 8 bytes per cycle running with a clock speed of 200 MHz = 200,000,000 cycles per second has a bandwidth of 200,000,000 × 2 × 8 = 3,200,000,000 B/s = 3.2 GB/s.
Command line interpreters
Some command line interpreters have language-level support for binary prefix notation similar to the scientific notation used in many programming languages.
In Windows PowerShell all binary prefixes are case-insensitive and used in the binary, power-of-1024 sense.
Example:
PS C:>0.5kB
512
PS C:>1GB / 700MB
1.46285714285714
PS C:>ls .Users
ootPicturesPict*.jpeg | where
Directory: Microsoft.PowerShell.CoreFileSystem::C:Users
ootPictures
Mode LastWriteTime Length Name
- --
-a--- 19.04.2008 20:11 3920613 Picture1.jpeg
-a--- 19.04.2008 20:16 6164149 Picture2.jpeg
-a--- 19.04.2008 20:19 4848501 Picture3.jpeg
Legal disputes
There have been two significant class action lawsuits against digital storage manufactures. One case involved flash memory and the other involved hard disk drives. Both were settled with the manufactures agreeing to clarify the storage capacity of their products on the consumer packaging.
Willem Vroegh v. Eastman Kodak Company
On February 20, 2004, Willem Vroegh filed a lawsuit against Lexar Media, Dane–Elec Memory, Fuji Photo Film USA, Eastman Kodak Company, Kingston Technology Company, Inc., Memorex Products, Inc.; PNY Technologies Inc., SanDisk Corporation, Verbatim Corporation, and Viking InterWorks alleging that their descriptions of the capacity of their flash memory cards were false and misleading.
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 to use the binary values 220 for megabyte and 230 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".
The law firms Gutride Safier, LLP and Milberg Weiss received $2.4 million.
Orin Safier v. Western Digital Corporation
On July 7, 2005, an action entitled "Orin Safier v. Western Digital Corporation, et al.," was filed in the Superior Court for the City and County of San Francisco, Case No. CGC-05-442812. The case was subsequently moved to the Northern District of California, Case No. 05-03353 BZ.
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 June 14, 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.
Western Digital had this footnote in their settlement. "Apparently, Plaintiff believes that he could sue an egg company for fraud for labeling a carton of 12 eggs a “dozen,” because some bakers would view a “dozen” as including 13 items."
The flash memory and hard disk manufacturers now have disclaimers on their packaging and web sites clarifying the formatted capacity of the flash memory
Also, the Class Action Fairness Act of 2005 requires greater scrutiny on coupon settlements. One of the plaintiff law firms in the Vroegh case, Milberg Weiss & Bershad, was indicted for fraud in unrelated class action cases.
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned.