Recent from talks
Nothing was collected or created yet.
Binary prefix
View on Wikipedia
| Decimal | Binary | ||||||
|---|---|---|---|---|---|---|---|
| Value | SI | Value | IEC | JEDEC | |||
| 1000 | k | kilo | 1024 | Ki | kibi | K | kilo |
| 10002 | M | mega | 10242 | Mi | mebi | M | mega |
| 10003 | G | giga | 10243 | Gi | gibi | G | giga |
| 10004 | T | tera | 10244 | Ti | tebi | T | tera |
| 10005 | P | peta | 10245 | Pi | pebi | — | |
| 10006 | E | exa | 10246 | Ei | exbi | — | |
| 10007 | Z | zetta | 10247 | Zi | zebi | — | |
| 10008 | Y | yotta | 10248 | Yi | yobi | — | |
| 10009 | R | ronna | 10249 | Ri | robi | — | |
| 100010 | Q | quetta | 102410 | Qi | quebi | — | |
A binary prefix is a unit prefix that indicates a multiple of a unit of measurement by an integer power of two. The most commonly used binary prefixes are kibi (symbol Ki, meaning 210 = 1024), mebi (Mi, 220 = 1048576), and gibi (Gi, 230 = 1073741824). They are most often used in information technology as multipliers of bit and byte, when expressing the capacity of storage devices or the size of computer files.
The binary prefixes "kibi", "mebi", etc. were defined in 1999 by the International Electrotechnical Commission (IEC), in the IEC 60027-2 standard (Amendment 2). They were meant to replace the metric (SI) decimal power prefixes, such as "kilo" (k, 103 = 1000), "mega" (M, 106 = 1000000) and "giga" (G, 109 = 1000000000),[1] that were commonly used in the computer industry to indicate the nearest powers of two. For example, a memory module whose capacity was specified by the manufacturer as "2 megabytes" or "2 MB" would hold 2 × 220 = 2097152 bytes, instead of 2 × 106 = 2000000.
On the other hand, a hard disk whose capacity is specified by the manufacturer as "10 gigabytes" or "10 GB", holds 10 × 109 = 10000000000 bytes, or a little more than that, but less than 10 × 230 = 10737418240 and a file whose size is listed as "2.3 GB" may have a size closer to 2.3 × 230 ≈ 2470000000 or to 2.3 × 109 = 2300000000, depending on the program or operating system providing that measurement. This kind of ambiguity is often confusing to computer system users and has resulted in lawsuits.[2][3] The IEC 60027-2 binary prefixes have been incorporated in the ISO/IEC 80000 standard and are supported by other standards bodies, including the BIPM, which defines the SI system,[1]: p.121 the US NIST,[4][5] and the European Union.
Prior to the 1999 IEC standard, some industry organizations, such as the Joint Electron Device Engineering Council (JEDEC), noted the common use of the terms kilobyte, megabyte, and gigabyte, and the corresponding symbols KB, MB, and GB in the binary sense, for use in storage capacity measurements. However, other computer industry sectors (such as magnetic storage) continued using those same terms and symbols with the decimal meaning. Since then, the major standards organizations have expressly disapproved the use of SI prefixes to denote binary multiples, and recommended or mandated the use of the IEC prefixes for that purpose, but the use of SI prefixes in this sense has persisted in some fields.
Definitions
[edit]
| IEC prefix | Representations | ||||
|---|---|---|---|---|---|
| Name | Symbol | Base 2 | Base 1024 | Value | Base 10 |
| kibi | Ki | 210 | 10241 | 1024 | = 1.024×103 |
| mebi | Mi | 220 | 10242 | 1048576 | ≈ 1.049×106 |
| gibi | Gi | 230 | 10243 | 1073741824 | ≈ 1.074×109 |
| tebi | Ti | 240 | 10244 | 1099511627776 | ≈ 1.100×1012 |
| pebi | Pi | 250 | 10245 | 1125899906842624 | ≈ 1.126×1015 |
| exbi | Ei | 260 | 10246 | 1152921504606846976 | ≈ 1.153×1018 |
| zebi | Zi | 270 | 10247 | 1180591620717411303424 | ≈ 1.181×1021 |
| yobi | Yi | 280 | 10248 | 1208925819614629174706176 | ≈ 1.209×1024 |
| robi | Ri | 290 | 10249 | 1237940039285380274899124224 | ≈ 1.238×1027 |
| quebi | Qi | 2100 | 102410 | 1267650600228229401496703205376 | ≈ 1.268×1030 |
In 2022, the International Bureau of Weights and Measures (BIPM) adopted the decimal prefixes ronna for 10009 and quetta for 100010.[6][7] In 2025, the prefixes robi (Ri, 10249) and quebi (Qi, 102410) were adopted by the IEC.[8]
Comparison of binary and decimal prefixes
[edit]The relative difference between the values in the binary and decimal interpretations increases, when using the SI prefixes as the base, from 2.4% for kibi vs. kilo to nearly 27% for the quebi vs. quetta.
| Prefix | Binary ÷ Decimal | Decimal ÷ Binary | |||
|---|---|---|---|---|---|
| kilo | kibi | 1.024 (+2.4%) | 0.9766 (−2.3%) | ||
| mega | mebi | 1.049 (+4.9%) | 0.9537 (−4.6%) | ||
| giga | gibi | 1.074 (+7.4%) | 0.9313 (−6.9%) | ||
| tera | tebi | 1.100 (+10.0%) | 0.9095 (−9.1%) | ||
| peta | pebi | 1.126 (+12.6%) | 0.8882 (−11.2%) | ||
| exa | exbi | 1.153 (+15.3%) | 0.8674 (−13.3%) | ||
| zetta | zebi | 1.181 (+18.1%) | 0.8470 (−15.3%) | ||
| yotta | yobi | 1.209 (+20.9%) | 0.8272 (−17.3%) | ||
| ronna | robi | 1.238 (+23.8%) | 0.8078 (−19.2%) | ||
| quetta | quebi | 1.268 (+26.8%) | 0.7889 (−21.1%) | ||
History
[edit]Early prefixes
[edit]There are several numeral prefixes in the English language that are binary prefixes, such as semi-, hemi-, di-, tetra- and octo-.
The original metric system adopted by France in 1795 included two binary prefixes named double- (2×) and demi- (1/2×).[9] However, these were not retained when the SI prefixes were internationally adopted by the 11th CGPM conference in 1960.
Storage capacity
[edit]Main memory
[edit]Early computers used one of two addressing methods to access the system memory; binary (base 2) or decimal (base 10).[10] For example, the IBM 701 (1952) used a binary methods and could address 2048 words of 36 bits each, while the IBM 702 (1953) used a decimal system, and could address ten thousand 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 states of their address lines map to a valid address, allowing easy aggregation into a larger block of memory with contiguous addresses.
While early documentation specified those memory sizes as exact numbers such as 4096, 8192, or 16384 units (usually words, bytes, or bits), computer professionals also started using the long-established metric system prefixes "kilo", "mega", "giga", etc., defined to be powers of 10,[1] to mean instead the nearest powers of two; namely, 210 = 1024, 220 = 10242, 230 = 10243, etc.[11][12] The corresponding metric prefix symbols ("k", "M", "G", etc.) were used with the same binary meanings.[13][14] The symbol for 210 = 1024 could be written either in lower case ("k")[15][16][17] or in uppercase ("K"). The latter was often used intentionally to indicate the binary rather than decimal meaning.[18] This convention, which could not be extended to higher powers, was widely used in the documentation of the IBM 360 (1964)[18] and of the IBM System/370 (1972),[19] of the CDC 7600,[20] of the DEC PDP-11/70 (1975)[21] and of the DEC VAX-11/780 (1977).[citation needed]
In other documents, however, the metric prefixes and their symbols were used to denote powers of 10, but usually with the understanding that the values given were approximate, often truncated down. Thus, for example, a 1967 document by Control Data Corporation (CDC) abbreviated "216 = 64 × 1024 = 65536 words" as "65K words" (rather than "64K" or "66K"),[22] while the documentation of the HP 21MX real-time computer (1974) denoted 3 × 216 = 192 × 1024 = 196608 as "196K" and 220 = 1048576 as "1M".[23]
These three possible meanings of "k" and "K" ("1024", "1000", or "approximately 1000") were used loosely around the same time, sometimes by the same company. The HP 3000 business computer (1973) could have "64K", "96K", or "128K" bytes of memory.[24] The use of SI prefixes, and the use of "K" instead of "k" remained popular in computer-related publications well into the 21st century, although the ambiguity persisted. The correct meaning was often clear from the context; for instance, in a binary-addressed computer, the true memory size had to be either a power of 2, or a small integer multiple thereof. Thus a "512 megabyte" RAM module was generally understood to have 512 × 10242 = 536870912 bytes, rather than 512000000.
Hard disks
[edit]In specifying disk drive capacities, manufacturers have always used conventional decimal SI prefixes representing powers of 10. Storage in a rotating disk drive is organized in platters and tracks whose sizes and counts are determined by mechanical engineering constraints so that the capacity of a disk drive has hardly ever been a simple multiple of a power of 2. For example, the first commercially sold disk drive, the IBM 350 (1956), had 50 physical disk platters containing a total of 50000 sectors of 100 characters each, for a total quoted capacity of 5 million characters.[25]
Moreover, since the 1960s, many disk drives used IBM's disk format, where each track was divided into blocks of user-specified size; and the block sizes were recorded on the disk, subtracting from the usable capacity. For example, the IBM 3336 disk pack was quoted to have a 200-megabyte capacity, achieved only with a single 13030-byte block in each of its 808 × 19 tracks.
Decimal megabytes were used for disk capacity by the CDC in 1974.[26] The Seagate ST-412,[27] one of several types installed in the IBM PC/XT,[28] had a capacity of 10027008 bytes when formatted as 306 × 4 tracks and 32 256-byte sectors per track, which was quoted as "10 MB".[29] Similarly, a "300 GB" hard drive can be expected to offer only slightly more than 300×109 = 300000000000, bytes, not 300 × 230 (which would be about 322×109 bytes or "322 GB"). The first terabyte (SI prefix, 1000000000000 bytes) hard disk drive was introduced in 2007.[30] Decimal prefixes were generally used by information processing publications when comparing hard disk capacities.[31]
Some programs and operating systems, such as Microsoft Windows, still use "MB" and "GB" to denote binary prefixes even when displaying disk drive capacities and file sizes, as did Classic Mac OS. Thus, for example, the capacity of a "10 MB" (decimal "M") disk drive could be reported as "9.56 MB", and that of a "300 GB" drive as "279.4 GB". Some operating systems, such as Mac OS X,[32] Ubuntu,[33] and Debian,[34] have been updated to use "MB" and "GB" to denote decimal prefixes when displaying disk drive capacities and file sizes. Some manufacturers, such as Seagate Technology, have released recommendations stating that properly-written software and documentation should specify clearly whether prefixes such as "K", "M", or "G" mean binary or decimal multipliers.[35][36]
Floppy disks
[edit]Floppy disks used a variety of formats, and their capacities was usually specified with SI-like prefixes "K" and "M" with either decimal or binary meaning. The capacity of the disks was often specified without accounting for the internal formatting overhead, leading to more irregularities.
The early 8-inch diskette formats could contain less than a megabyte with the capacities of those devices specified in kilobytes, kilobits or megabits.[37][38]
The 5.25-inch diskette sold with the IBM PC AT could hold 1200 × 1024 = 1228800 bytes, and thus was marketed as "1200 KB" with the binary sense of "KB".[39] However, the capacity was also quoted "1.2 MB",[40] which was a hybrid decimal and binary notation, since the "M" meant 1000 × 1024. The precise value was 1.2288 MB (decimal) or 1.171875 MiB (binary).
The 5.25-inch Apple Disk II had 256 bytes per sector, 13 sectors per track, 35 tracks per side, or a total capacity of 116480 bytes. It was later upgraded to 16 sectors per track, giving a total of 140 × 210 = 143360 bytes, which was described as "140KB" using the binary sense of "K".
The most recent version of the physical hardware, the "3.5-inch diskette" cartridge, had 720 512-byte blocks (single-sided). Since two blocks comprised 1024 bytes, the capacity was quoted "360 KB", with the binary sense of "K". On the other hand, the quoted capacity of "1.44 MB" of the High Density ("HD") version was again a hybrid decimal and binary notation, since it meant 1440 pairs of 512-byte sectors, or 1440 × 210 = 1474560 bytes. Some operating systems displayed the capacity of those disks using the binary sense of "MB", as "1.4 MB" (which would be 1.4 × 220 ≈ 1468000 bytes). User complaints forced both Apple[citation needed] and Microsoft[41] to issue support bulletins explaining the discrepancy.
Optical disks
[edit]When specifying the capacities of optical compact discs, "megabyte" and "MB" usually meant 10242 bytes. Thus a "700-MB" (or "80-minute") CD has a nominal capacity of about 700 MiB, which is approximately 730 MB (decimal).[42]
On the other hand, capacities of other optical disc storage media like DVD, Blu-ray Disc, HD DVD and magneto-optical (MO) have been generally specified in decimal gigabytes ("GB"), that is, 10003 bytes. In particular, a typical "4.7 GB" DVD has a nominal capacity of about 4.7×109 bytes, which is about 4.38 GiB.[43]
Tape drives and media
[edit]Tape drive and media manufacturers have generally used SI decimal prefixes to specify the maximum capacity,[44][45] although the actual capacity would depend on the block size used when recording.
Data and clock rates
[edit]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 4770000 Hz.
Similarly, digital information transfer rates are quoted using decimal prefixe. The Parallel ATA "100 MB/s" disk interface can transfer 100000000 bytes per second, and a "56 Kb/s" modem transmits 56000 bits per second. Seagate specified the sustained transfer rate of some hard disk drive models with both decimal and IEC binary prefixes.[35] The standard sampling rate of music compact disks, quoted as 44.1 kHz, is indeed 44100 samples per second.[citation needed] A "1 Gb/s" Ethernet interface can receive or transmit up to 109 bits per second, or 125000000 bytes per second within each packet. A "56k" modem can encode or decode up to 56000 bits per second.
Decimal SI prefixes are also generally used for processor-memory data transfer speeds. A PCI-X bus with 66 MHz clock and 64 bits wide can transfer 66000000 64-bit words per second, or 4224000000 bit/s = 528000000 B/s, which is usually quoted as 528 MB/s. A PC3200 memory on a double data rate bus, transferring 8 bytes per cycle with a clock speed of 200 MHz has a bandwidth of 200000000 × 8 × 2 = 3200000000 B/s, which would be quoted as 3.2 GB/s.
Ambiguous standards
[edit]The ambiguous usage of the prefixes "kilo ("K" or "k"), "mega" ("M"), and "giga" ("G"), as meaning both powers of 1000 or (in computer contexts) of 1024, has been recorded in popular dictionaries,[46][47][48] and even in some obsolete standards, such as ANSI/IEEE 1084-1986[49] and ANSI/IEEE 1212-1991,[50] IEEE 610.10-1994,[51] and IEEE 100-2000.[52] Some of these standards specifically limited the binary meaning to multiples of "byte" ("B") or "bit" ("b").
Early binary prefix proposals
[edit]Before the IEC standard, several alternative proposals existed for unique binary prefixes, starting in the late 1960s. In 1996, Markus Kuhn proposed the extra prefix "di" and the symbol suffix or subscript "2" to mean "binary"; so that, for example, "one dikilobyte" would mean "1024 bytes", denoted "K2B" or "K2B".[53]
In 1968, Donald Morrison proposed to use the Greek letter kappa (κ) to denote 1024, κ2 to denote 10242, and so on.[54] (At the time, memory size was small, and only K was in widespread use.) In the same year, Wallace Givens responded with a suggestion to use bK as an abbreviation for 1024 and bK2 or bK2 for 10242, though he noted that neither the Greek letter nor lowercase letter b would be easy to reproduce on computer printers of the day.[55] Bruce Alan Martin of Brookhaven National Laboratory proposed that, instead of prefixes, binary powers of two were indicated by the letter B followed by the exponent, similar to E in decimal scientific notation. Thus one would write 3B20 for 3 × 220.[56] This convention is still used on some calculators to present binary floating point-numbers today.[57]
In 1969, Donald Knuth, who uses decimal notation like 1 MB = 1000 kB,[58] proposed that the powers of 1024 be designated as "large kilobytes" and "large megabytes", with abbreviations KKB and MMB.[59]
Consumer confusion
[edit]The ambiguous meanings of "kilo", "mega", "giga", etc., has caused significant consumer confusion, especially in the personal computer era. A common source of confusion was the discrepancy between the capacities of hard drives specified by manufacturers, using those prefixes in the decimal sense, and the numbers reported by operating systems and other software, that used them in the binary sense, such as the Apple Macintosh in 1984. For example, a hard drive marketed as "1 TB" could be reported as having only "931 GB". The confusion was compounded by fact that RAM manufacturers used the binary sense too.
Legal disputes
[edit]The different interpretations of disk size prefixes led to class action lawsuits against digital storage manufacturers. These cases involved both flash memory and hard disk drives.
Early cases
[edit]Early cases (2004–2007) were settled prior to any court ruling with the manufacturers admitting no wrongdoing but agreeing to clarify the storage capacity of their products on the consumer packaging. Accordingly, many flash memory and hard disk manufacturers have disclosures on their packaging and web sites clarifying the formatted capacity of the devices or defining MB as 1 million bytes and 1 GB as 1 billion bytes.[60][61][62][63]
Willem Vroegh v. Eastman Kodak Company
[edit]On 20 February 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 the defendants to use the customary 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.[64]
The parties agreed that manufacturers could continue to use the decimal definition so long as the definition was added to the packaging and web sites.[65] The consumers could apply for "a discount of ten percent off a future online purchase from Defendants' Online Stores Flash Memory Device".[66]
Orin Safier v. Western Digital Corporation
[edit]On 7 July 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.[67]
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.[68]
Western Digital offered to compensate customers with a gratis download of backup and recovery software that they valued at US$30. They also paid $500000 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.[69][70][71] 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."[72]
Cho v. Seagate Technology (US) Holdings, Inc.
[edit]A lawsuit (Cho v. Seagate Technology (US) Holdings, Inc., San Francisco Superior Court, Case No. CGC-06-453195) was filed against Seagate Technology, alleging that Seagate overrepresented the amount of usable storage by 7% on hard drives sold between 22 March 2001 and 26 September 2007. The case was settled without Seagate admitting wrongdoing, but agreeing to supply those purchasers with gratis backup software or a 5% refund on the cost of the drives.[73]
Dinan et al. v. SanDisk LLC
[edit]On 22 January 2020, the district court of the Northern District of California ruled in favor of the defendant, SanDisk, upholding its use of "GB" to mean 1000000000 bytes.[2] The Ninth Circuit affirmed in February 2021.[3]
IEC 1999 Standard
[edit]In 1995, the International Union of Pure and Applied Chemistry's (IUPAC) Interdivisional Committee on Nomenclature and Symbols (IDCNS) proposed the prefixes "kibi" (short for "kilobinary"), "mebi" ("megabinary"), "gibi" ("gigabinary") and "tebi" ("terabinary"), with respective symbols "kb", "Mb", "Gb" and "Tb",[74] for binary multipliers. The proposal suggested that the SI prefixes should be used only for powers of 10; so that a disk drive capacity of "500 gigabytes", "0.5 terabytes", "500 GB", or "0.5 TB" should all mean 500×109 bytes, exactly or approximately, rather than 500 × 230 (= 536870912000) or 0.5 × 240 (= 549755813888).
The proposal was not accepted by IUPAC at the time, but was taken up in 1996 by the Institute of Electrical and Electronics Engineers (IEEE) in collaboration with the International Organization for Standardization (ISO) and International Electrotechnical Commission (IEC). The prefixes "kibi", "mebi", "gibi" and "tebi" were retained, but with the symbols "Ki" (with capital "K"), "Mi", "Gi" and "Ti" respectively.[75]
In January 1999, the IEC published this proposal, with additional prefixes "pebi" ("Pi") and "exbi" ("Ei"), as an international standard (IEC 60027-2 Amendment 2)[76][77][78] The standard reaffirmed the BIPM's position that the SI prefixes should always denote powers of 10. The third edition of the standard, published in 2005, added prefixes "zebi" and "yobi", thus matching all then-defined SI prefixes with binary counterparts.[79]
The harmonized ISO/IEC IEC 80000-13:2025 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.[80] In 2009, the prefixes kibi-, mebi-, etc. were defined by ISO 80000-1 in their own right, independently of the kibibyte, mebibyte, and so on.
The BIPM standard JCGM 200:2012 "International vocabulary of metrology – Basic and general concepts and associated terms (VIM), 3rd edition" lists the IEC binary prefixes and states "SI prefixes refer strictly to powers of 10, and should not be used for powers of 2. For example, 1 kilobit should not be used to represent 1024 bits (210 bits), which is 1 kibibit."[81]
The IEC 60027-2 standard recommended operating systems and other software were updated to use binary or decimal prefixes consistently, but incorrect usage of SI prefixes for binary multiples is still common. At the time, 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.[82]
Other standards bodies and organizations
[edit]The IEC standard binary prefixes are supported by other standardization bodies and technical organizations.
The United States National Institute of Standards and Technology (NIST) supports the ISO/IEC standards for "Prefixes for binary multiples" and has a web page[83] 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.[5] NIST has stated the SI prefixes "refer strictly to powers of 10" and that the binary definitions "should not be used" for them.[84]
As of 2014, the microelectronics industry standards body JEDEC describes the IEC prefixes in its online dictionary, but acknowledges that the SI prefixes and the symbols "K", "M" and "G" are still commonly used with the binary sense for memory sizes.[85][86]
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.[87][88] as of April 2008[update], the IEEE Publications division does not require the use of IEC prefixes in its major magazines such as Spectrum[89] or Computer.[90]
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 the SI.[91][1]
The Society of Automotive Engineers (SAE) prohibits the use of SI prefixes with anything but a power-of-1000 meaning, but does not cite the IEC binary prefixes.[92]
The European Committee for Electrotechnical Standardization (CENELEC) adopted the IEC-recommended binary prefixes via the harmonization document HD 60027-2:2003-03.[93] The European Union (EU) has required the use of the IEC binary prefixes since 2007.[94]
Current practice
[edit]


Some computer industry participants, such as Hewlett-Packard (HP),[95] and IBM[96][97] have adopted or recommended IEC binary prefixes as part of their general documentation policies.
As of 2023, the use of SI prefixes with the binary meanings is still prevalent for specifying the capacity of the main memory of computers, of RAM, ROM, EPROM, and EEPROM chips and memory modules, and of the cache of computer processors. For example, a "512-megabyte" or "512 MB" memory module holds 512 MiB; that is, 512 × 220 bytes, not 512 × 106 bytes.[98][99][100][101]
JEDEC continues to include the customary binary definitions of "kilo", "mega", and "giga" in the document Terms, Definitions, and Letter Symbols,[102] and, as of 2010[update], still used those definitions in their memory standards.[103][104][105][106][107]
On the other hand, the SI prefixes with powers of ten meanings are generally used for the capacity of external storage units, such as disk drives,[108][109][110][111][112] solid state drives, and USB flash drives,[63] except for some flash memory chips intended to be used as EEPROMs. However, some disk manufacturers have used the IEC prefixes to avoid confusion.[113] The decimal meaning of SI prefixes is usually also intended in measurements of data transfer rates, and clock speeds.[citation needed]
Some operating systems and other software use either the IEC binary multiplier symbols ("Ki", "Mi", etc.)[114][115][116][117][118][119] or the SI multiplier symbols ("k", "M", "G", etc.) with decimal meaning. Some programs, such as the GNU ls command, let the user choose between binary or decimal multipliers. However, some continue to use the SI symbols with the binary meanings, even when reporting disk or file sizes. Some programs may also use "K" instead of "k", with either meaning.[120]
Other uses
[edit]While the binary prefixes are predominantly used with units of data, bits and bytes, they may be used with other unit of measure. For example, in signal processing it may be convenient to use a binary prefix with the unit of frequency, hertz (Hz), to produce a unit such as the kibihertz (KiHz), which is equal to 1024 Hz.[121][122]
See also
[edit]References
[edit]- ^ a b c d Bureau International des Poids et Mesures. (2006). "§3.1 SI prefixes" (PDF). The International System of Units (SI) (in French and English) (8th ed.). Paris: STEDI Media. p. 127. ISBN 978-92-822-2213-3. Archived (PDF) from the original on 2006-08-13. Retrieved 2007-02-25.
[Side note:] These SI prefixes refer strictly to powers of 10. They should not be used to indicate powers of 2 (for example, one kilobit represents 1000 bits and not 1024 bits). The IEC has adopted prefixes for binary powers in the international standard IEC 60027-2: 2005, third edition, Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics. The names and symbols for the prefixes corresponding to 210, 220, 230, 240, 250, and 260 are, respectively: kibi, Ki; mebi, Mi; gibi, Gi; tebi, Ti; pebi, Pi; and exbi, Ei. Thus, for example, one kibibyte would be written: 1 KiB = 210 B = 1024 B, where B denotes a byte. Although these prefixes are not part of the SI, they should be used in the field of information technology to avoid the incorrect usage of the SI prefixes.
- ^ a b Dinan v. SanDisk LLC, No. 18-cv-5420 (N.D. Cal.), "Order Granting Motion to Dismiss" (January 22, 2020)
- ^ a b See also Dinan v. SanDisk LLC, No. 20-15287 (9th Cir. Feb. 10, 2021)
- ^ "SI prefixes". The NIST Reference on Constants, Units, and Uncertainty: International System of Units (SI). National Institute of Standards and Technology. 2010-01-13. Retrieved 2017-04-03.
- ^ a b "International System of Units (SI): Prefixes for binary multiples". The NIST Reference on Constants, Units, and Uncertainty. National Institute of Science and Technology. Retrieved 2007-09-09.
- ^ "List of Resolutions for the 27th meeting of the General Conference on Weights and Measures" (PDF). 2022-11-18. Archived (PDF) from the original on 2022-11-18. Retrieved 2022-11-18.
- ^ Gibney, Elizabeth (2022-11-18). "How many yottabytes in a quettabyte? Extreme numbers get new names". Nature. doi:10.1038/d41586-022-03747-9. PMID 36400954. S2CID 253671538. Retrieved 2022-11-21.
- ^ "IEC 80000-13:2025 – Quantities and units – Part 13: Information science and technology". International Electrotechnical Commission.
- ^ "La Loi Du 18 Germinal An 3: Décision de tracer le mètre, unité fondamentale, sur une règle de platine. Nomenclature des " mesures républicaines ". Reprise de la triangulation" [The Law of 18 Germinal, Year 3: Decision to draw the fundamental unit metre on a platinum ruler. Nomenclature of "Republican measures". Resumption of the triangulation.]. L'Histoire Du Mètre [The history of the metre] (in French). histoire.du.metre.free.fr. Archived from the original on 2022-11-26. Retrieved 2015-10-12.
Art. 8. Dans les poids et mesures de capacité, chacune des mesures décimales de ces deux genres aura son double et sa moitié, afin de donner à la vente des divers objets toute la commodité que l'on peut désirer. Il y aura donc le double-litre et le demi-litre, le double-hectogramme et le demi-hectogramme, et ainsi des autres.
[Art. 8. In the weights and measures of capacity, each of the decimal measures of these two kinds will have its double and its half, in order to give to the sale of the various articles all the convenience that one can desire. There will therefore be the double-litre and the half-litre, the double-hectogram and the half-hectogram, and so on.] - ^ Weik, Martin H. (March 1961). "A Third Survey of Domestic Electronic Digital Computing Systems: Chapter III Analysis and Trends". Ballistic Research Laboratories Report No. 1115: 1027.
Of 187 different relevant systems, 131 utilize a straight binary system internally, whereas 53 utilize the decimal system (primarily binary coded decimal) and 3 systems utilize a binary coded alphanumeric system of notation.
This lengthy report describes many of the early computers. - ^ Hunting Trouble on 28 Megacycles, A. L. Blais, QST, January 1930.
- ^ Lin, Yeong; Mattson, R. (September 1972). "Cost-performance evaluation of memory hierarchies". IEEE Transactions on Magnetics. 8 (3). IEEE: 390–392. Bibcode:1972ITM.....8..390L. doi:10.1109/TMAG.1972.1067329.
Also, random access devices are advantageous over serial access devices for backing store applications only when the memory capacity is less than 1 Mbyte. For capacities of 4 Mbyte and 16 Mbyte serial access stores with shift register lengths of 256 bit and 1024 bit, respectively, look favorable.
- ^ Real, P. (September 1959). "A generalized analysis of variance program utilizing binary logic". Preprints of papers presented at the 14th national meeting of the Association for Computing Machinery on - ACM '59. ACM Press. pp. 78–1–78–5. doi:10.1145/612201.612294. S2CID 14701651.
On a 32K core size 704 computer, approximately 28000 data may be analyzed, ... without resorting to auxiliary tape storage.
Note: the IBM 704 core memory units had 4096 36-bit words. Up to 32768 words could be installed - ^ Gruenberger, Fred; Burgess, C. R.; Gruenberger, Fred (October 1960). "Letters to the Editor". Communications of the ACM. 3 (10). doi:10.1145/367415.367419. S2CID 3199685. "The 8K core stores were getting fairly common in this country in 1954. The 32K store started mass production in 1956; it is the standard now for large machines and at least 200 machines of the size (or its equivalent in the character addressable machines) are in existence today (and at least 100 were in existence in mid-1959)." Note: The IBM 1401 was a character addressable computer.
- ^ Ray Horak (2008). Webster's New World Telecom Dictionary. John Wiley & Sons. p. 271. ISBN 9780471774570.
In computing and storage systems, a kB (kiloByte) is actually 1,024 (2^10) bytes, since the measurement is based on a base 2, or binary, number system. The term kB comes from the fact that 1,024 is nominally, or approximately, 1,000.
- ^ Janet S. Dodd (1997). The ACS style guide: a manual for authors and editors. American Chemical Society. p. 124. ISBN 9780841234611.
kB (kilobyte; actually 1024 bytes) KB (kilobyte; kB is preferred)
- ^ F. J. M. Laver (1989-05-11). Information Technology: Agent of Change. Cambridge University Press. p. 35. ISBN 978-0521350358.
when describing the performance of IT systems the larger units 'kilobytes' (kB) [...] Strictly speaking, k means the 'binary thousand' 1024
- ^ a b Amdahl, Gene M. (1964). "Architecture of the IBM System/360" (PDF). IBM Journal of Research and Development. 8 (2). IBM: 87–101. doi:10.1147/rd.82.0087. Figure 1 gives storage (memory) capacity ranges of the various models in "Capacity 8-bit bytes, 1 K = 1024"
- ^ IBM (1972). System/370 Model 158 brochure (PDF). IBM. G520-261871.
All-monolithic storage ... (1024-bit NMOS) This new improvement of processor storage makes system expansion more economical. Real storage capacity is available in 512K increments ranging from 512K to 2,048K bytes.
- ^ Control Data Corporation (November 1968). Control Data 7600 Computer System: Preliminary System Description (PDF).
One type, designated as the small core memory (SCM) is a many bank coincident current type memory with a total of 64K words of 60 bit length (K=1024).
- ^ Bell, Gordon (November 1975). "Computer structures: What have we learned from the PDP-11?" (PDF). Proceedings of the 3rd annual symposium on Computer architecture - ISCA '76. ACM Press. pp. 1–14. doi:10.1145/800110.803541. S2CID 14496112.
memory size (8k bytes to 4 megabytes).
- ^ Control Data Corporation (1965–1967). Control Data 6400/6500/6600 Computer Systems Reference Manual (Pub No. 60100000 ed.). pp. 2–1. Archived from the original on 2014-01-02. Retrieved 2013-11-07.
Central Memory is organized into 32K, 65K, or 131K words (60-bit) in 8, 16, or 32 banks of 4096 words each.
- ^ Frankenberg, Robert (October 1974). "All Semiconductor Memory Selected for New Minicomputer Series" (PDF). Hewlett-Packard Journal. 26 (2). Hewlett-Packard: 15–20. Archived from the original (PDF) on 2007-11-29. Retrieved 2007-06-18.
196K-word memory size
- ^ Hewlett-Packard (November 1973). "HP 3000 Configuration Guide" (PDF). HP 3000 Computer System and Subsystem Data: 59. Retrieved 2010-01-22.
- ^ IBM Corporation (2003-01-23). "IBM 350 disk storage unit". IBM Archives. Archived from the original on 2005-04-09.
- ^ The CDC Product Line Card unambiguously uses MB to characterize HDD capacity in millions of bytes
- ^ Seagate Corporation (April 1982). ST506/412 OEM Manual (PDF). p. 3. Archived from the original (PDF) on 2016-10-08. Retrieved 2016-09-06.
- ^ IBM Tells MiniScribe It Is Cutting Back On Winchester Orders, Computer System News, 1 Jan 1984, p. 1
- ^ Mellor, Chris (2011-04-06). "It's the oldest working Seagate drive in the UK". The Register. Retrieved 2012-01-26.
- ^ "Hitachi Introduces 1-Terabyte Hard Drive". PC World. 2007-01-04. Archived from the original on 2007-01-12. Retrieved 2010-02-04.
- ^ 1977 Disk/Trend Report – Rigid Disk Drives, published June 1977
- ^ "How iOS and macOS report storage capacity". Apple Support. 2018-02-27. Archived from the original on 2020-04-09. Retrieved 2022-01-09.
- ^ "UnitsPolicy". Ubuntu Wiki. Ubuntu. Archived from the original on 2021-11-18. Retrieved 2022-01-09.
- ^ "ConsistentUnitPrefixes". Debian Wiki. Archived from the original on 2021-12-03. Retrieved 2022-01-09.
- ^ a b Seagate Seag2011 10K.5 SAS Product Manual, 100628561, Rev D, March 2011, sec 5.2.3, p. 10 (18th page of the pdf), states the drive's sustained transfer speed as "89 to 160 MiB/s" on one line, and "93 to 168 MB/s" on the next line.
- ^ "Marketing Bulletin: Advanced Format 4K Sector Transition Frequently Asked Questions" (PDF). Seagate Technology. Archived from the original (PDF) on 2010-07-15.
- ^ "IBM100 – The Floppy Disk". www-03.ibm.com. 2012-03-07. Archived from the original on 2012-04-03. Retrieved 2023-10-17.
- ^ "Disc Storage". Datamation. May 1972. pp. 154, 162, 164.
CDS 100 ... stores over 600 kilobits, Model 650 ... store 1.5 megabits ...
- ^ Brutman, Michael B. (2001-07-08). "Working with Disks: An intro to floppy disks and floppy drives". Brutmanlabs. Archived from the original on 2024-02-19. Retrieved 2024-02-19.
- ^ "Floppy disk storage | IBM". www.ibm.com. Retrieved 2024-12-14.
- ^ Microsoft (2003-05-06). "Determining Actual Disk Size: Why 1.44 MB Should Be 1.40 MB". Article ID: 121839. Microsoft. Retrieved 2007-07-07. "The 1.44-megabyte (MB) value associated with the 3.5-inch disk format does not represent the actual size or free space of these disks. Although its size has been popularly called 1.44 MB, the correct size is actually 1.40 MB."
- ^ "Data capacity of CDs". Videohelp.com. Archived from the original on 2006-07-15. Retrieved 2012-01-26.
- ^ Understanding Recordable and Rewritable DVD Archived 2 January 2011 at the Wayback Machine
- ^ [permanent dead link]
- ^ "Data Interchange on 12,7 mm 384-Track Magnetic Tape Cartridges – Ultrium-1 Format" (PDF). Ecma-international.org. Archived from the original (PDF) on 2013-09-17. Retrieved 2017-12-30.
- ^ "Definition of megabyte". M-w.com. Retrieved 2017-12-30.
- ^ "Definitions of Megabyte". Dictionary.reference.com. Retrieved 2017-12-30.
- ^ "AskOxford: megabyte". Askoxford.com. Archived from the original on 2005-05-25. Retrieved 2017-12-30.
- ^ IEEE Standard Glossary of Mathematics of Computing Terminology. 1986-10-30. doi:10.1109/IEEESTD.1986.79649. ISBN 0-7381-4541-6.
kilo (K). (1) A prefix indicating 1000. (2) In statements involving size of computer storage, a prefix indicating 210, or 1024. mega (M). (1) A prefix indicating one million. (2) In statements involving size of computer storage, a prefix indicating 220, or 1048576.
- ^ IEEE Standard Control and Status Register (CSR) Architecture for Microcomputer Buses. 1992-07-22. doi:10.1109/IEEESTD.1992.106981. ISBN 0-7381-4336-7.
Kbyte. Kilobyte. Indicates 210 bytes. Mbyte. Megabyte. Indicates 220bytes. Gbyte is used in the Foreword.
- ^ IEEE Standard Glossary of Computer Hardware Terminology. 1994-06-24. doi:10.1109/IEEESTD.1995.79522. ISBN 1-55937-492-6.
gigabyte (gig, GB). This term may mean either a) 1000000000 bytes or b) 230 bytes. ... As used in this document, the terms kilobyte (kB) means 210 or 1024 bytes, megabyte (MB) means 1024 kilobytes, and gigabyte (GB) means 1024 megabytes.
- ^ Institute of Electrical and Electronics Engineers (2000). 100-2000. IEEE Computer Society Press. doi:10.1109/IEEESTD.2000.322230. ISBN 978-0-7381-2601-2. "kB See kilobyte." "Kbyte Kilobyte. Indicates 210 bytes." "Kilobyte Either 1000 or 210 or 1024 bytes." The standard also defines megabyte and gigabyte with a note that an alternative notation for base 2 is under development.
- ^ Kuhn, Markus (1996-12-29). "Standardized units for use in information technology".
- ^ Donald R. Morrison (March 1968). "Letters to the editor: Abbreviations for computer and memory sizes". Communications of the ACM. 11 (3): 150. doi:10.1145/362929.362962. S2CID 22934466.
- ^ Wallace Givens (June 1968). "Letters to the editor: proposed abbreviation for 1024: bK". Communications of the ACM. 11 (6): 391. doi:10.1145/363347.363351. S2CID 22205692.
- ^ Martin, Bruce Alan (October 1968). "Letters to the editor: On binary notation". Communications of the ACM. 11 (10): 658. doi:10.1145/364096.364107. S2CID 28248410.
- ^ Schwartz, Jake; Grevelle, Rick (2003-10-20) [1993]. HP16C Emulator Library for the HP48S/SX. 1.20 (1 ed.). Retrieved 2015-08-15.
- ^ The Art of Computer Programming Archived 2016-03-05 at the Wayback Machine Volume 1, Donald Knuth, pp. 24 and 94
- ^ "Knuth: Recent News (1999)". Cs-staff.stanford.edu. Retrieved 2012-01-26.
- ^ "WD Caviar SE16 SATA Hard Drives". Western Digital: Products. Western Digital Corporation. Archived from the original on 2007-09-02. Retrieved 2007-09-09.
- ^ "Jack Flash F.A.Q." Corsair. Archived from the original on 2016-03-05. Retrieved 2014-06-20.
[...] the industry-standard definition of a megabyte (MByte) for flash devices is one million (1,000,000) bytes, where the operating system uses two to the twentieth power, or 1,048,576 bytes. Similarly, for a gigabyte (GByte), the number is 1,000,000,000 and 1,073,741,824 respectively.
- ^ "SanDisk Ultra CompactFlash cards" (PDF). SanDisk Corporation. Archived from the original (PDF) on 2013-08-10. Retrieved 2014-06-20.
- ^ a b "Secure Digital Capacity Disclaimer" (PDF). sandisk.com. SanDisk Corporation. Archived from the original (PDF) on 2013-02-27. Retrieved 2014-06-20.
- ^ "Vreogh Third Amended Complaint (Case No. GCG-04-428953)" (PDF). pddocs.com. Poorman-Douglas Corporation. 2005-03-10. Archived from the original (PDF) on 2008-03-09. Retrieved 2007-09-09.
- ^ "Why is the capacity of my Secure Digital memory card (as reported by many operating systems) different than the capacity that is listed on its label?" (PDF). Sandisk.com. 2012-04-13. Archived from the original (PDF) on 2012-04-13. Retrieved 2017-12-30.
- ^ Safier, Seth A. "Frequently Asked Questions". Flash Memory Settlement. Poorman-Douglas Corporation. Archived from the original on 2007-09-28. Retrieved 2007-09-09.
- ^ Gutride, Adam; Seth A. Safier (2006-03-29). "Class Action Complaint". Orin Safier v. Western Digital Corporation. Western Digital Corporation. Archived from the original on 2007-10-16. Retrieved 2007-09-09.
- ^ Zimmerman, Bernard (2006). "Notice of Class Action and Proposed Settlement". Orin Safier v. Western Digital Corporation. Western Digital Corporation. Archived from the original on 2007-09-22. Retrieved 2007-09-09.
- ^ "Western Digital Settles Capacity Suit". Betanews.com. 2006-06-28. Retrieved 2017-12-30.
- ^ Jeremy Reimer (2006-06-30). "Western Digital settles drive size lawsuit". Ars Technica LLC. Retrieved 2010-02-10.
- ^ Western Digital Corporation (2006). "NOTICE OF CLASS ACTION AND PROPOSED SETTLEMENT ("NOTICE")". Archived from the original on 2010-05-07. Retrieved 2010-02-10.
- ^ Baskin, Scott D. (2006-02-01). ""Defendant Western Digital Corporation's Brief in Support of Plaintiff's Motion for Preliminary Approval"". Orin Safier v. Western Digital Corporation. Western Digital Corporation. Retrieved 2007-09-09.
- ^ "Settlement Website for Cho v. Seagate Technology (US) Holdings, Inc". Archived from the original on 2019-01-18. Retrieved 2011-04-12.
- ^ IUCr IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS) (1997-02-13) [1995]. "IUCr annual report for 1995" (Report). International Union of Crystallography. Archived from the original on 2009-08-27. Retrieved 2012-01-26.
- ^ "(IUCr) 1996 Report – IUPAC Interdivisional Committee on Nomenclature and Symbols (IDCNS)" (Report). International Union of Crystallography. 1997-02-14 [1996]. Archived from the original on 2013-06-13. Retrieved 2012-01-26.
- ^ "These prefixes for binary multiples, which were developed by IEC Technical Committee (TC) 25, Quantities and units, and their letter symbols, with the strong support of the International Committee for Weights and Measures (CIPM) and the IEEE, were adopted by the IEC as Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics."
- ^ "IUCR 1999 report on IUPAC Interdivisional Committee on Nomenclature and Symbols". Acta Crystallographica Section A: Foundations of Crystallography. 56 (6). Journals.iucr.org: 609–642. November 2000. doi:10.1107/S0108767300012873. PMID 11058849. Retrieved 2012-01-26.
- ^ IEC 60027-2 (2000-11) Ed. 2.0
- ^ "HERE COME ZEBI AND YOBI" (Press release). International Electrotechnical Commission. 2005-08-15. Archived from the original on 2007-06-11.
- ^ "niso, New Specs and Standards". Niso.org. Archived from the original on 2008-12-08. Retrieved 2012-01-26.
- ^ "International vocabulary of metrology – Basic and general concepts and associated terms (VIM)" (PDF). Bipm.org (3rd ed.). Archived (PDF) from the original on 2022-10-09. Retrieved 2017-12-30.
- ^ Barrow, Bruce (January 1997) [1996]. "A Lesson in Megabytes". IEEE Standards Bearer. 11. IEEE: 5. Archived from the original on 2022-05-28. Retrieved 2022-12-24.
- ^ The NIST Reference on Constants, Units, and Uncertainty
- ^ Barry N. Taylor & Ambler Thompson Ed. (2008). The International System of Units (SI) (PDF). Gaithersburg, MD: National Institute of Standards and Technology. p. 29. Archived from the original (PDF) on 2018-12-25. Retrieved 2010-04-27.
- ^ "mega (M) (as a prefix to units of semiconductor storage capacity)". JEDEC – Global Standards for the Microelectronics Industry. Retrieved 2021-04-14.
The definitions of kilo, giga, and mega based on powers of two are included only to reflect common usage.
- ^ Low Power Double Data Rate 4 (LPDDR4) JESD209-4. JEDEC Solid State Technology Association. August 2014. p. 7.
These devices contain the following number of bits: 4Gb has 4,294,967,296 bits ... 32Gb has 34,359,738,368 bits
Free registration required to download the standard. - ^ 1541-2002. Reaffirmed 27 March 2008. 2003-02-12. doi:10.1109/IEEESTD.2003.94236. ISBN 978-0-7381-3385-0. Archived from the original on 2012-10-14. Retrieved 2007-07-29.
This standard is prepared with two goals in mind: (1) to preserve the SI prefixes as unambiguous decimal multipliers and (2) to provide alternative prefixes for those cases where binary multipliers are needed. The first goal affects the general public, the wide audience of technical and nontechnical persons who use computers without much concern for their construction or inner working. These persons will normally interpret kilo, mega, etc., in their proper decimal sense. The second goal speaks to specialists – the prefixes for binary multiples make it possible for persons who work in the information sciences to communicate with precision.
- ^ "IEEE-SA Standards Board Standards Review Committee (RevCom) Meeting Agenda". 2005-03-19. Archived from the original on 2007-09-22. Retrieved 2007-02-25.
1541-2002 (SCC14) IEEE Trial-Use Standard for Prefixes for Binary Multiples [No negative comments received during trial-use period, which is now complete; Sponsor requests elevation of status to full-use.] Recommendation: Elevate status of standard from trial-use to full-use. Editorial staff will be notified to implement the necessary changes. The standard will be due for a maintenance action in 2007.
- ^ Wallich, Paul (April 2008). "Tools & toys: Hacking the Nokia N800". IEEE Spectrum. 45 (4): 25. doi:10.1109/MSPEC.2008.4476441. S2CID 20129812. "A lot can happen in a decade. You can hold the Nokia N800 in your hand, yet it's a near-exact match for a high-end desktop PC from 10 years ago. It has a 320-megahertz processor, 128 megabytes of RAM, and a few gigabytes of available mass storage."
- ^ Gschwind, Michael; Erb, David; Manning, Sid; Nutter, Mark (June 2007). "An Open Source Environment for Cell Broadband Engine System Software" (PDF). Computer. 40 (6). IEEE Computer Society: 37–47. doi:10.1109/MC.2007.192. S2CID 10877922. Archived (PDF) from the original on 2022-10-09. "The processor has a memory subsystem with separate first-level 32-Kbyte instruction and data caches, and a 512-Kbyte unified second-level cache." Authors are with IBM.
- ^ "BIPM – SI prefixes". Bipm.org. Retrieved 2017-12-30.
- ^ "Rules for SAE Use of SI (Metric) Units] – Section C.1.12 – SI prefixes" (PDF). Sae.org. Archived (PDF) from the original on 2022-10-09. Retrieved 2017-12-30.
- ^ "CENELEC – Standards Development – List of Technical Bodies". Archived from the original on 2013-02-13.
- ^ "CENELEC – Standards Development – List of Technical Bodies". Archived from the original on 2012-07-22.
- ^ Hewlett-Packard (2009): "How many bytes are in a GB?" ISS Technology Update – Hewlett Packard Enterprise, volume 9, issue 1, quote: 'To reduce confusion, vendors are pursuing one of two remedies: they are changing SI prefixes to the new binary prefixes, or they are recalculating the numbers as powers of ten. [...] HP is considering modifying its storage utilities to report disk capacity with correct decimal and binary values side-by-side (for example, "300 GB (279.4 GiB)"), and report cache sizes with binary prefixes ("1 GiB")'.
- ^ DeRespinis, F., Hayward, P., Jenkins, J., Laird, A., McDonald, L., and Radzinski, E. (2011): The IBM style guide: conventions for writers and editors. IBM Press. quote: "To help avoid inaccuracy (especially with the larger prefixes) and potential ambiguity, the International Electrotechnical Commission (IEC) in 2000 adopted a set of prefixes specifically for binary multipliers (See IEC 60027-2). Their use is now supported by the United States National Institute of Standards and Technology (NIST) and incorporated into ISO 80000. They are also required by EU law and in certain contexts in the US. However, most documentation and products in the industry continue to use SI prefixes when referring to binary multipliers. In product documentation, follow the same standard that is used in the product itself (for example, in the interface or firmware). Whether you choose to use IEC prefixes for powers of 2 and SI prefixes for powers of 10, or use SI prefixes for a dual purpose ... be consistent in your usage and explain to the user your adopted system."
- ^ "IBM Knowledge Center". Pic.dhe.ibm.com. Archived from the original on 2014-03-17. Retrieved 2017-12-30.
- ^ As used in this article, the term customary binary prefix or similar refers to prefixes such as kilo, mega, giga, etc., borrowed from the similarly named SI prefixes but used to denote a power of 1024.
- ^ "Hewlett-Packard". Welcome.hp.com. Retrieved 2012-01-26.
- ^ "Consumer Electronics – Sony US". Sonystyle.com. Archived from the original on 2011-06-16. Retrieved 2017-12-30.
- ^ "4AllMemory.com". 4AllMemory.com. Retrieved 2012-01-26.
- ^ JEDEC Solid State Technology Association (December 2002). "JEDEC Standard No. 100B.01 – Terms, Definitions, and Letter Symbols for Microcomputers, Microprocessors, and Memory Integrated Circuits" (PDF). p. 8. Retrieved 2010-03-07.
The definitions of kilo, giga, and mega based on powers of two are included only to reflect common usage. IEEE/ASTM SI 10-1997 states "This practice frequently leads to confusion and is deprecated."
(Requires free registration and login.) - ^ JEDEC (September 2009). "DDR3 SDRAM Standard". Retrieved 2010-02-04.
- ^ JEDEC (November 2009). "DDR2 SDRAM Standard". Retrieved 2010-02-04.
- ^ JEDEC. "Memory Configurations". Retrieved 2010-02-04.
- ^ JEDEC. "Memory Configurations Table of Contents" (PDF). Archived (PDF) from the original on 2022-10-09. Retrieved 2010-02-04.
- ^ JEDEC. "Terms and Definitions" (PDF). Archived (PDF) from the original on 2022-10-09. Retrieved 2010-02-04.
- ^ [1][dead link]
- ^ "FAQs". Samsung.com. Archived from the original on 2011-06-16. Retrieved 2017-12-30.
- ^ "Storage Solutions Guide" (PDF). Seagate. Archived from the original (PDF) on 2010-03-31. Retrieved 2010-03-04.
- ^ "Toshiba Introduces Two 1.8-inch Hard Disk Drive Families For Both High Performance and Long Battery Life in Mobile Computing Applications" (PDF) (Press release). Toshiba. 2009-11-04. Archived from the original (PDF) on 2009-11-22. Retrieved 2017-12-30.
- ^ "WD Model and Order Numbers" (PDF). Archived from the original (PDF) on 2005-08-24.
- ^ "Client: Client HDD – Toshiba". Toshiba-tdmt.com.tw. Archived from the original on 2021-04-26. Retrieved 2017-12-30.
- ^ "Units". Linux Programmer's Manual. 2001-12-22. Archived from the original on 2007-09-02. Retrieved 2007-05-20.
When the Linux kernel boots and says
hda: 120064896 sectors (61473 MB) w/2048KiB Cachethe MB are megabytes and the KiB are kibibytes. - ^ "ESR post on LKML". Lwn.net. Retrieved 2012-01-26.
- ^ "Ubuntu implements units policy, will switch to base-10 units in future release". Neowin.net. Retrieved 2012-01-26.
- ^ "UnitsPolicy – Ubuntu Wiki". Wiki.ubuntu.com. Retrieved 2012-01-26.
- ^ "Snow Leopard's new maths". Macworld. 2009-08-28. Archived from the original on 2013-04-20. Retrieved 2011-04-13.
- ^ "How iOS and macOS report storage capacity". Apple Inc. 2018-02-27. Retrieved 2021-06-27.
- ^ "Ls(1) – Linux manual page".
- ^ "Patent WO2012098399A2 – Low-power oscillator – Google Patents". Google.com. Retrieved 2016-06-23.
- ^ Ainslie, Michael A.; Halvorsen, Michele B.; Robinson, Stephen P. (January 2022) [2021-11-09]. "A terminology standard for underwater acoustics and the benefits of international standardization". IEEE Journal of Oceanic Engineering. 47 (1). IEEE: 179–200. Bibcode:2022IJOE...47..179A. doi:10.1109/JOE.2021.3085947. eISSN 1558-1691. ISSN 0364-9059. S2CID 243948953. [2] (22 pages)
Further reading
[edit]- "When is a kilobyte a kibibyte? And an MB an MiB?". International Electrotechnical Commission. 2007-02-12. Archived from the original on 2009-04-03. – An introduction to binary prefixes
- "Prefixes for binary multiples". NIST.
- "Get Ready for the mebi, gibi and tebi" (Press release). NIST. 1999-03-02. Archived from the original on 2016-08-20. Retrieved 2017-07-13.
- Kuhn, Markus (1996-12-29). "What is a Megabyte ...?".—a 1996–1999 paper on bits, bytes, prefixes and symbols
- de Boyne Pollard, Jonathan. "There is no such thing as a 1.44 MB standard format floppy disc". Frequently Given Answers. Archived from the original on 2016-10-07.
- Michael Quinion (1999-08-21). "Kibibyte". World Wide Words. Archived from the original on 2004-06-12. Retrieved 2002-11-13.—Another description of binary prefixes
- James Wiebe (2003-10-09). "When One Billion does not equal One Billion, or: Why your computer's disk drive capacity doesn't appear to match the stated capacity" (PDF). WiebeTech (Press release). Archived from the original (PDF) on 2013-12-04. Retrieved 2010-01-22.—White-paper on the controversy over drive capacities
External links
[edit]Binary prefix
View on GrokipediaTechnical Foundations
Definition and Notation
Binary prefixes are unit prefixes denoting multiples of base units by integer powers of two (2^n), distinct from the decimal prefixes of the International System of Units (SI), which use powers of ten (10^n). They address the need in computing and data processing to express quantities like memory and storage capacities that align with binary addressing schemes, where 1 kilobyte traditionally equals 1024 bytes (2^10) rather than 1000 bytes (10^3).[1][2] The International Electrotechnical Commission (IEC) defined binary prefixes in Amendment 2 to IEC 60027-2, published in January 1999, to resolve ambiguities arising from the overloaded use of decimal prefixes in binary contexts. These prefixes combine the initial letters of corresponding SI prefixes with "bi" (from "binary"), yielding names like "kibi" for the 2^10 factor; symbols use two uppercase letters, such as "Ki" for kibi, followed by the unit symbol (e.g., KiB for kibibyte). The full name incorporates the unit, as in "kibibyte" (KiB = 2^10 bytes = 1024 bytes).[1][2]| Factor | Prefix Name | Symbol | Derivation |
|---|---|---|---|
| 2¹⁰ | kibi | Ki | kilobinary (2¹⁰)¹ |
| 2²⁰ | mebi | Mi | megabinary (2¹⁰)² |
| 2³⁰ | gibi | Gi | gigabinary (2¹⁰)³ |
| 2⁴⁰ | tebi | Ti | terabinary (2¹⁰)⁴ |
| 2⁵⁰ | pebi | Pi | petabinary (2¹⁰)⁵ |
| 2⁶⁰ | exbi | Ei | exabinary (2¹⁰)⁶ |
| 2⁷⁰ | zebi | Zi | zetabinary (2¹⁰)⁷ |
| 2⁸⁰ | yobi | Yi | yottabinary (2¹⁰)⁸ |
Mathematical and Computational Basis
Binary prefixes quantify data in digital systems using multiples of powers of 2, specifically for integer , to align with the binary architecture of computers. This choice arises because digital memory and storage operate on binary data, where addresses and capacities are expressed as units for addressing bits, enabling direct hardware mapping without conversion overhead. For instance, a system with 10 address bits can access locations, naturally scaling in binary increments.[1][4] The factor of approximates the decimal by about 2.4%, facilitating human-readable notation while preserving exact binary alignment for operations like bit shifting and masking, which are fundamental to processors. In practice, the kibibyte (KiB) equals bytes, the mebibyte (MiB) equals bytes, and higher prefixes follow as (GiB), (TiB), up to (YiB), as standardized for unambiguous measurement in data processing. Computationally, this basis optimizes memory allocation: page sizes (e.g., 4 KiB = bytes) and cache lines are powers of 2 to minimize alignment issues and enable fast modulo-2 arithmetic via bitwise AND operations.[1][2][5] This structure contrasts with decimal prefixes by prioritizing causal efficiency in binary hardware over decimal convenience, as non-power-of-2 sizes would require additional circuitry for addressing, increasing latency and power consumption in real-world implementations. Empirical evidence from processor design confirms that binary scaling reduces computational complexity in indexing and bounds checking, underpinning reliable performance in operating systems and firmware.[6]Comparison with Decimal Prefixes
Binary prefixes, such as kibi (Ki) denoting , differ fundamentally from decimal prefixes in the International System of Units (SI), where kilo (k) denotes .[2][1] This distinction arises because binary prefixes align with the base-2 architecture of digital computing, where data addressing and memory allocation operate in powers of 2 for efficiency in binary operations, whereas decimal prefixes reflect the base-10 human counting system used in general metrology.[2][7] The numerical divergence between corresponding prefixes grows logarithmically with scale. For instance, one mebibyte (MiB) equals bytes, while one megabyte (MB) equals bytes, yielding a relative difference of approximately 4.86%.[8] At larger magnitudes, such as terabyte (TB = ) versus tebibyte (TiB = ), the discrepancy exceeds 9.09%.[8] These values are summarized below:| Prefix Level | Decimal Value (SI, powers of 10) | Binary Value (IEC, powers of ) | Relative Difference (%) |
|---|---|---|---|
| Kilo/Kibi | 2.4 | ||
| Mega/Mebi | 4.86 | ||
| Giga/Gibi | 7.37 | ||
| Tera/Tebi | 9.95 |
Historical Development
Early Computing and Prefix Usage
In the era of early electronic digital computers, from the late 1940s through the 1960s, binary representation dominated internal operations and addressing due to the simplicity of electronic switches operating in two states—on or off—aligning with powers of 2 for efficient hardware implementation. Memory and storage capacities were thus expressed as multiples of 2^n, with 2^10 = 1024 emerging as a fundamental unit because it closely approximated the decimal 1000, enabling the reuse of the SI prefix "kilo" (k) as a convenient shorthand without introducing awkward decimals in binary contexts. This adaptation was not a formal redefinition but a pragmatic convention driven by the causal necessity of binary alignment in computing hardware, where decimal multiples would complicate addressing and allocation; for instance, early magnetic drum and core memories were engineered in 1024-unit blocks to match word sizes and bus widths.[3] Documented applications of this usage appeared in mainframe specifications by the mid-1960s, such as the IBM System/360 series (announced 1964), which denoted RAM capacities like 8K or 16K bytes, explicitly equating 1K to 1024 bytes to reflect binary page and block sizing in its architecture. Likewise, minicomputers like the DEC PDP-8 (1965) employed "K" for 1024-word modules in core memory, standardizing the term across programming manuals and datasheets for both semiconductor and ferrite-core technologies prevalent at the time. These practices ensured seamless integration with binary instructions and avoided the inefficiencies of non-power-of-2 granularities, establishing "kilo" as synonymous with 1024 in computational metrics without initial contention, as data volumes remained small and predominantly RAM-focused.[10][3] This binary prefix convention extended to peripherals and software addressing, where quantities like 1K bits or words facilitated direct mapping to machine code and avoided overflow in early limited-address-space systems; for example, the Whirlwind I (operational 1951) and subsequent machines used binary scaling that implicitly favored 1024-unit increments in engineering reports. Empirical hardware constraints, such as the 1024-bit planes in core memory arrays, reinforced this as the default, predating any decimal alternatives in storage media where binary fidelity was paramount for error-free data handling.[3]Onset of Ambiguity in Data Storage
The divergence between binary and decimal interpretations of prefixes in data storage emerged prominently in the late 1980s and early 1990s, as hard disk drive (HDD) capacities scaled to the gigabyte level. Prior to this, smaller capacities in kilobytes and megabytes exhibited minimal practical discrepancy (e.g., 2^10 = 1024 vs. 10^3 = 1000 bytes for kilo, a ~2.4% difference), which was often overlooked in early computing contexts where exact byte counts were specified without ambiguity. HDD manufacturers, however, consistently applied decimal (SI) definitions from the introduction of prefixed capacities, defining 1 GB as 10^9 bytes to align with metric conventions and facilitate marketing of higher nominal figures.[11][7] A key early instance was IBM's 3380 drive, released in 1980, advertised with 2.52 GB capacity—equivalent to 2.52 × 10^9 bytes—marking the first commercial HDD exceeding 1 GB under decimal reckoning. This approach contrasted sharply with RAM and software conventions, where 1 GB denoted 2^30 = 1,073,741,824 bytes, rooted in binary addressing for memory allocation and file systems. Operating systems like Windows and Unix-derived systems displayed available storage using binary units, leading consumers to perceive a shortfall; a drive labeled 10 GB yielded roughly 9.31 GiB (binary gigabytes) in the OS.[12][13] By the early 1990s, this practice proliferated among manufacturers, including IBM's Deskstar series, exacerbating confusion as consumer PCs adopted GB-scale HDDs while RAM remained firmly binary-aligned. The ~7.37% underreporting gap for GB (and larger for TB at ~10%) fueled early complaints, as users compared advertised specs against OS-reported space, highlighting the causal role of marketing incentives in prioritizing decimal for storage over computational binary norms. Empirical evidence of user frustration appears in technical forums from the mid-1990s onward, predating formal standardization attempts.[14][15]Pre-IEC Proposals for Resolution
In 1968, as ambiguities in prefix usage became evident in computing contexts—where memory and storage were typically measured in powers of 1024 rather than 1000—proposals for distinct binary notations appeared in the Communications of the ACM. Wallace Givens recommended "bK" as a specific abbreviation for 1024 to differentiate it from decimal equivalents, arguing that this would reduce confusion in technical documentation without altering established SI conventions.[16] The same publication featured additional suggestions, including Donald Morrison's advocacy for the Greek letter κ to denote 1024, with κ² representing 1,048,576 (1024²), extending to higher powers as needed; this approach leveraged symbolic notation to explicitly signal binary scaling while accommodating the era's smaller memory sizes, where ambiguities were already problematic in scaling from, say, 32K to 64K systems. These ideas stemmed from practical concerns in programming and hardware documentation but lacked formal endorsement and saw limited implementation. By the mid-1990s, renewed interest prompted further refinements. In 1996, Markus Kuhn outlined a systematic framework using a "di" prefix (from "dyadic," referencing base-2 structure) combined with SI terms, such as "dikilobyte" for 1024 bytes or "dimegabyte" for 1,048,576 bytes, alongside symbolic variants like k₂B (kilobyte with binary subscript).[17] Kuhn emphasized backward compatibility, recommending unabbreviated units like "dikilobyte" for readability and allowing subscripts for compact notation in code or displays; he critiqued ad-hoc solutions like uppercase K for binary as insufficiently precise, drawing on historical precedents including the 1968 ACM letters to argue for prefixes that preserved decimal SI integrity while enabling unambiguous binary expression. This proposal influenced later standardization discussions but remained voluntary prior to IEC adoption.Standardization Efforts
IEC Standards of 1998-1999
In December 1998, the International Electrotechnical Commission (IEC) approved Amendment 2 to International Standard IEC 60027-2, titled Letter symbols to be used in electrical technology – Part 2: Telecommunications, electronics and related fields.[1] This amendment, developed by IEC Technical Committee 25 (Quantities and units) with encouragement from the International Committee for Weights and Measures (CIPM) and the International Bureau of Weights and Measures (BIPM), introduced formal names and symbols for prefixes denoting binary multiples—powers of 2—to address longstanding ambiguity in computing contexts where "kilo" and similar terms had been overloaded to mean both 10^3 (SI decimal) and 2^10 (binary).[1] The amendment specified these prefixes for use in data processing, data transmission, and digital information quantities, recommending their application to units like the byte (e.g., 1 KiB = 1024 bytes).[1] [2] Amendment 2 was published on January 29, 1999, marking the first international standardization of binary prefixes and extending coverage up to multiples of 2^60.[18] [1] The prefixes follow a consistent nomenclature: names formed by adding "-bi" to the first two letters of the corresponding SI prefix (e.g., "ki" from "kilo"), with symbols consisting of the SI prefix symbol followed by "i" (e.g., "Ki" from "k").[1] This design preserved SI prefixes strictly for decimal powers of 10 while providing unambiguous alternatives for binary scales prevalent in memory addressing and storage.[2] The defined prefixes are as follows:| Binary Factor | Prefix Name | Symbol |
|---|---|---|
| 2¹⁰ | kibi | Ki |
| 2²⁰ | mebi | Mi |
| 2³⁰ | gibi | Gi |
| 2⁴⁰ | tebi | Ti |
| 2⁵⁰ | pebi | Pi |
| 2⁶⁰ | exbi | Ei |
Endorsements and Divergences by Other Organizations
The International Organization for Standardization (ISO) endorses binary prefixes through its joint standard with the International Electrotechnical Commission (IEC), ISO/IEC 80000-13:2008 (updated in subsequent editions), which defines names and symbols such as "kibi" (Ki) for 2^10, "mebi" (Mi) for 2^20, and "gibi" (Gi) for 2^30, specifically for use in information technology contexts involving powers of two. This standard explicitly distinguishes binary prefixes from SI decimal prefixes to resolve ambiguities in data quantities. The Institute of Electrical and Electronics Engineers (IEEE) aligns with binary prefixes via IEEE Std 1541-2021, which standardizes symbols like Ki, Mi, and Gi for binary multiples (2^10n), emphasizing their application to units such as the byte to ensure precise communication in electrical and electronics engineering. This standard preserves SI prefixes exclusively for decimal powers of ten while recommending binary prefixes for computational and memory contexts, reflecting a goal of unambiguous notation without conflicting with metric conventions. In contrast, the National Institute of Standards and Technology (NIST) acknowledges the IEC-defined binary prefixes but maintains that they fall outside the International System of Units (SI), where prefixes like kilo- and mega- strictly denote decimal multiples of 1000 and 1,000,000, respectively.[1] NIST advises against using SI prefixes for binary quantities, citing potential confusion, and lists binary prefixes separately as a non-SI convention developed by IEC for information technology, without formal integration into broader metrology practices. The Bureau International des Poids et Mesures (BIPM), custodian of the SI, implicitly diverges by confining SI prefixes to decimal bases, as affirmed in interpretations aligning with IEEE 1541-2021, which reject binary interpretations to uphold the metric system's foundational powers-of-ten structure.[3] National standards bodies, such as the British Standards Institution (BSI) through BS EN 80000-13:2008, have adopted the ISO/IEC framework, implementing identical provisions for binary prefixes in European contexts, though practical divergences persist in industry applications favoring decimal notation for storage capacities.Barriers to Widespread Standardization
The adoption of IEC binary prefixes, formalized in 1998, has faced significant resistance due to deeply entrenched historical conventions in computing, where terms like "kilobyte" have denoted 1024 bytes since the mid-20th century, predating formal standardization efforts.[3] This legacy usage permeates software codebases, documentation, and user expectations, making retroactive changes costly and disruptive; for instance, revising millions of lines of existing programs and firmware to incorporate "kibibyte" (KiB) would require extensive testing and could introduce compatibility issues across ecosystems.[3] Binary multiples aligned with powers of 2 emerged naturally from early computer architectures in the 1950s and 1960s, as processors and memory addressed data in binary increments, fostering a de facto standard that resisted later decimal-binary distinctions.[3] Commercial incentives, particularly in data storage hardware, have perpetuated decimal prefix usage, allowing manufacturers to advertise capacities in larger nominal figures—such as labeling a 1 terabyte drive as 10^12 bytes rather than approximately 931 gibibytes (GiB)—to enhance market appeal without altering physical specifications.[19] Hard drive producers, including major firms like Seagate and Western Digital, adopted this practice by the early 2000s, aligning with International System of Units (SI) decimal definitions to simplify global marketing and avoid the smaller numbers implied by binary equivalents, despite operating systems often interpreting them as binary for file systems.[19] This divergence creates persistent consumer discrepancies, as evidenced by OS-reported capacities falling short of advertised values by about 7-10% for terabyte-scale drives, yet regulatory bodies have not imposed unified enforcement, allowing industry self-regulation to favor decimal reporting.[19] Practical challenges include the perceived clumsiness of binary prefix nomenclature, such as "mebibyte" (MiB), which lacks the intuitive familiarity of traditional terms and has led to developer and user pushback in software interfaces.[15] The absence of mandatory compliance across standards organizations—while the IEC and IEEE endorse binary prefixes, bodies like NIST clarify they fall outside core SI units—exacerbates fragmentation, with voluntary adoption limited to niches like certain Linux distributions and scientific computing.[1][2] Without coordinated international mandates or economic penalties, inertia from mixed decimal-binary applications in networking, RAM, and storage sustains ambiguity, hindering widespread standardization over two decades post-IEC introduction.[2]Controversies and Disputes
Origins of Prefix Misuse in Marketing
The application of decimal prefixes to hard disk drive capacities, diverging from the binary conventions prevalent in computing memory, emerged in the late 1980s as manufacturers scaled production to gigabyte-level storage. This shift enabled advertising capacities using powers of ten—such as defining 1 GB as exactly 1,000,000,000 bytes—to produce larger, round numerical figures aligned with SI standards, contrasting the approximate binary usage (1 GB ≈ 2^{30} = 1,073,741,824 bytes) inherited from early mainframe and RAM addressing.[20] IBM pioneered this approach with its multi-gigabyte drives, advertising them under decimal metrics by the early 1990s to reflect physical byte counts in decimal multiples, which facilitated straightforward marketing of products like the IBM 0664, a 1 GB model from 1990.[21] The incentive stemmed from storage engineering practices, where sector sizes (typically 512 or 1024 bytes) and platter densities lent themselves to decimal totalizations for simplicity in specification sheets and sales literature, allowing claims of "1 GB" for drives with precisely 10^9 bytes rather than the larger 2^{30} expected by software users.[20] This decimal labeling effectively inflated advertised capacities by about 7.37% relative to binary expectations, as a 10^9-byte drive appeared as only 953.67 MiB (mebibytes) in operating systems employing binary division. By 1995, as average drive sizes exceeded 1 GB, the discrepancy fueled initial consumer awareness, though manufacturers defended it as adherence to SI purity over computing's historical approximation.[21] Subsequent firms like Seagate and Western Digital adopted the convention industry-wide, embedding it in product datasheets by the mid-1990s to compete on headline numbers amid rapid areal density advances (doubling roughly every 18 months per the then-emerging Kryder's law).[20]Consumer Confusion and Empirical Evidence
The discrepancy between manufacturer-advertised storage capacities, calculated using decimal prefixes (e.g., 1 GB = 10^9 bytes), and the binary-based reporting in operating systems (e.g., 1 GiB ≈ 1.0737 GB) routinely results in users observing about 7-10% less capacity than expected, fostering perceptions of inadequate product performance.[22][13] This arises because hardware vendors align with SI decimal standards for marketing, while software defaults to powers of 1024 for memory addressing, a convention rooted in early computing architecture.[23] Consumers, often lacking awareness of these dual systems, interpret the shortfall as a defect or false advertising, prompting support inquiries and returns.[24] Evidence of such confusion manifests in legal actions, including a 2003 class-action lawsuit filed by U.S. consumers against major hard drive makers like Western Digital and Seagate, alleging deceptive overstatement of capacities by approximately 7% due to decimal usage.[25][26] Similar complaints surged in consumer forums and help resources around that period, with users reporting "missing" space on newly purchased drives.[27] Although no large-scale peer-reviewed surveys quantify confusion rates, the persistence of explanatory articles from manufacturers—such as Seagate's knowledge base entry addressing the issue since at least 2003—indicates recurrent user reports.[22] Common misconceptions attribute the observed shortfall to operating system overhead or manufacturer false claims, rather than the underlying prefix ambiguity between decimal (TB = 10^{12} bytes) and binary (TiB = 2^{40} = 1,099,511,627,776 bytes) definitions.[28][22] For instance, a drive advertised as 1 TB (1,000,000,000,000 bytes) by the manufacturer displays as approximately 0.909 TiB or 931 GiB in Windows and Linux operating systems using binary scaling, leading users to incorrectly blame software inefficiencies or deceptive advertising.[22][13] These misunderstandings are evidenced in online forums, such as Reddit and Quora discussions, where consumers frequently express frustration over the discrepancy without recognizing the role of binary prefix conventions in computation.[29][30] Cognitive analyses highlight how parallel numeration systems (decimal for sales, binary for computation) impose additional mental processing demands, amplifying errors in capacity estimation and contributing to frustration in IT purchasing.[31] Courts have increasingly rejected deception claims, as in a 2019 federal dismissal of a flash drive suit where the plaintiff alleged a 6.7% shortfall; the ruling held that packaging disclosures and computing norms suffice for reasonable consumer understanding.[32] This suggests that while initial ambiguity generated verifiable backlash, heightened awareness via online resources has mitigated widespread deception, though isolated misunderstandings endure among non-technical buyers.[30]Major Legal Challenges
One prominent legal challenge arose in the United States through class action lawsuits against hard drive manufacturers, alleging false advertising due to discrepancies between advertised decimal-based capacities (using powers of 1000) and the binary-based measurements (powers of 1024) displayed by operating systems, resulting in perceived shortfalls of approximately 7% for gigabyte-scale drives.[33][34] In a 2006 settlement, Western Digital agreed to pay up to $300,000 in cash and provide product coupons totaling $2.5 million to affected consumers without admitting liability, following claims that an 80 GB drive yielded only 74.4 GB in Windows due to the prefix interpretation difference.[33][35] Similar litigation targeted flash memory producers, with a 2007 class action suit claiming companies like SanDisk and Lexar overstated memory card capacities by applying decimal definitions, inflating sizes by about 4-7% compared to binary expectations in consumer devices.[36] These cases underscored consumer reliance on historical binary conventions in computing, despite manufacturers' adherence to International System of Units (SI) decimal standards formalized in the 1990s, but courts focused on marketing practices rather than mandating binary prefix adoption like "GiB".[36][37] Outcomes generally involved settlements offering refunds or discounts rather than injunctions against decimal labeling, reflecting judicial recognition of the ambiguity's roots in industry evolution but reluctance to override established metrological norms.[38] No major U.S. federal rulings definitively resolved the binary-decimal debate, leaving persistent disputes without enforceable standardization on prefixes.[39]Current Adoption and Practices
Usage in Operating Systems and Software
In Microsoft Windows, file sizes in File Explorer are computed using binary scaling, where 1 KB denotes 1024 bytes, reflecting historical computing conventions aligned with powers of two for memory and file allocation.[40] Reported drive capacities also employ binary scaling, with 1 GB representing 1,073,741,824 bytes (2^{30} bytes), leading to discrepancies with manufacturer labels that use decimal scaling (1 TB = 10^{12} bytes). For instance, a drive advertised as 1 TB by the manufacturer displays as approximately 931 GB or 0.909 TB in Windows, as the operating system interprets the capacity using binary prefixes; this is not unique to Windows, as Linux distributions also use binary scaling for drive capacity reporting in tools likedf.[41][42] This dual approach, where hardware uses decimal but software uses binary, persists as of Windows 11 in 2025, contributing to user confusion and misconceptions, such as attributing the shortfall to operating system overhead or manufacturer false advertising rather than prefix differences.[43] For clarity in such contexts, the tebibyte (TiB) is defined by the IEC as exactly 2^{40} bytes (1,099,511,627,776 bytes), distinguishing it from the terabyte (TB = 10^{12} bytes).[2][28]
macOS, from version 10.6 Snow Leopard onward, uniformly applies decimal prefixes for both file sizes and disk capacities in Finder and Disk Utility, defining 1 kB as 1000 bytes and 1 GB as 1,000,000,000 bytes to conform with SI decimal conventions and storage industry practices.[44] This standardization, implemented by Apple Inc. in 2009, avoids binary multipliers for reported volumes, though underlying file system operations like HFS+ or APFS may internally leverage binary blocks.[45]
Linux distributions predominantly utilize binary prefixes in command-line tools and graphical interfaces. The df utility, for instance, defaults to binary units with the -h flag, scaling in KiB (1024 bytes), MiB (1,048,576 bytes), and equivalents since coreutils version 8.0 in 2010, though the --si option enables decimal output for compatibility with decimal-labeled hardware.[46] File managers in environments like GNOME (Nautilus) and KDE (Dolphin) display sizes using binary scaling, frequently adopting IEC prefixes such as KiB and MiB as of KDE Plasma 5 in 2014 and GNOME 3 in 2011, promoting precision in contexts like RAM and partition sizing.[47]
![GNOME System Monitor memory size and network rate][float-right]
Adoption of formal IEC binary prefixes (KiB, MiB) in broader software remains selective, with open-source projects like the GNU coreutils and desktop environments embracing them for clarity, while proprietary applications and legacy code often retain ambiguous KB=1024 notation without the 'i' suffix.[48] As of 2025, empirical surveys of distributions like Ubuntu and Fedora confirm binary dominance for in-memory and file operations, but decimal prevails in network throughput displays to align with SI-based bandwidth standards.[19] This variance underscores ongoing tensions between computational efficiency (powers of two) and interoperability with decimal hardware metrics.
