Fact-checked by Grok 2 weeks ago

Binary prefix

Binary prefixes are unit prefixes that denote multiples of a base unit by an integer power of two (2n), primarily applied in and to specify quantities of digital information such as bytes of memory or storage capacity. They provide a standardized alternative to the decimal-based prefixes (powers of 10), addressing the longstanding convention in where terms like "" ambiguously referred to bytes (210) rather than 1000 bytes, due to the close approximation of 210 to 103. The International Electrotechnical Commission (IEC) formalized binary prefixes in Amendment 2 to IEC International Standard 60027-2 (published 1998 and revised 2005), defining symbols and names such as kibi (Ki) for 210 = 1024, mebi (Mi) for 220 = 1 048 576, gibi (Gi) for 230 = 1 073 741 824, and extending to yobi (Yi) for 280. This system enables precise distinctions, for instance, between a kilobyte (kB = 1000 bytes) and a kibibyte (KiB = 1024 bytes), or a gigabyte (GB = 109 bytes, as used by storage manufacturers for marketing) versus a gibibyte (GiB = 230 bytes, common in RAM addressing). The introduction of binary prefixes resolved a core ambiguity rooted in computing's binary architecture, where memory and file systems operate on powers of two, yet decimal prefixes led to discrepancies—such as consumer hard drives labeled as 1 TB holding only about 931 GiB when formatted—prompting calls for clarity from standards bodies like the IEC and endorsements from the National Institute of Standards and Technology (NIST). Despite this, adoption remains uneven: while some software (e.g., certain distributions and macOS) displays prefixes for , most hardware vendors, operating systems like Windows, and systems persist with overloaded decimal terms for binary quantities, sustaining confusion and resistance attributed to entrenched habits and commercial incentives favoring larger apparent capacities.

Technical 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 (SI), which use powers of ten (10^n). They address the need in and to express quantities like and capacities that align with addressing schemes, where 1 traditionally equals bytes (2^10) rather than bytes (10^3). The (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 contexts. These prefixes combine the initial letters of corresponding 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 = bytes).
FactorPrefix NameSymbolDerivation
2¹⁰kibiKikilobinary (2¹⁰)¹
2²⁰mebiMimegabinary (2¹⁰)²
2³⁰gibiGigigabinary (2¹⁰)³
2⁴⁰tebiTiterabinary (2¹⁰)⁴
2⁵⁰pebiPipetabinary (2¹⁰)⁵
2⁶⁰exbiEiexabinary (2¹⁰)⁶
2⁷⁰zebiZizetabinary (2¹⁰)⁷
2⁸⁰yobiYiyottabinary (2¹⁰)⁸
This notation ensures precision: for instance, 1 MiB = 1,048,576 bytes (2^20), while 1 (decimal) = 1,000,000,000 bytes, highlighting the ~7.37% difference at larger scales that binary prefixes clarify. Usage typically pairs the prefix with bits (b) or bytes (B), as in Kibit or , with bytes being eight bits in standard computing contexts.

Mathematical and Computational Basis

Binary prefixes quantify data in digital systems using multiples of powers of 2, specifically $2^{10n} for integer n \geq 1, 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 $2^k units for k addressing bits, enabling direct hardware mapping without conversion overhead. For instance, a system with 10 address bits can access $2^{10} = [1024](/page/1024) locations, naturally scaling in binary increments. The factor of $2^{10} = 1024 approximates the decimal $10^3 = 1000 by about 2.4%, facilitating human-readable notation while preserving exact alignment for operations like bit shifting and masking, which are fundamental to processors. In practice, the kibibyte (KiB) equals $1024 = 2^{10} bytes, the mebibyte () equals $2^{20} bytes, and higher prefixes follow as $2^{30} (GiB), $2^{40} (), up to $2^{80} (YiB), as standardized for unambiguous measurement in . Computationally, this basis optimizes allocation: page sizes (e.g., 4 KiB = $2^{12} bytes) and lines are powers of 2 to minimize issues and enable fast modulo-2 arithmetic via bitwise AND operations. This structure contrasts with by prioritizing causal efficiency in over convenience, as non-power-of-2 sizes would require additional circuitry for addressing, increasing and power consumption in real-world implementations. Empirical evidence from confirms that scaling reduces in indexing and bounds checking, underpinning reliable performance in operating systems and .

Comparison with Decimal Prefixes

Binary prefixes, such as denoting $2^{10} = 1024, differ fundamentally from in the (SI), where denotes $10^3 = 1000. 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 . The numerical divergence between corresponding prefixes grows logarithmically with scale. For instance, one mebibyte (MiB) equals $2^{20} = 1,048,576 bytes, while one (MB) equals $10^6 = 1,000,000 bytes, yielding a relative difference of approximately 4.86%. At larger magnitudes, such as terabyte (TB = $10^{12}) versus tebibyte (TiB = $2^{40} \approx 1.0995 \times 10^{12}), the discrepancy exceeds 9.09%. These values are summarized below:
Prefix LevelDecimal Value (SI, powers of 10)Binary Value (IEC, powers of $2^{10})Relative Difference (%)
/Kibi$10^3 = 1,000$2^{10} = 1,0242.4
Mega/Mebi$10^6 = 1,000,000$2^{20} = 1,048,5764.86
/$10^9 = 1,000,000,000$2^{30} \approx 1.0737 \times 10^97.37
/Tebi$10^{12} = 1,000,000,000,000$2^{40} \approx 1.0995 \times 10^{12}9.95
In applications, binary prefixes better represent actual capacities, such as RAM modules sized in powers of 2 (e.g., 1 GiB = $2^{30} bytes), due to binary addressing schemes that minimize computational overhead in . , conversely, predominate in contexts like specifications, where manufacturers report capacities in base-10 multiples to align with conventions, often leading to user-perceived shortfalls when binary-based operating systems display volumes. The IEC formalized binary prefixes in 1998 precisely to resolve this mismatch, emphasizing that SI decimal prefixes are not intended for binary multiples.

Historical Development

Early Computing and Prefix Usage

In the era of early electronic digital computers, from the late 1940s through the , 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 implementation. and capacities were thus expressed as multiples of 2^n, with 2^10 = emerging as a fundamental unit because it closely approximated the 1000, enabling the reuse of the SI prefix "kilo" (k) as a convenient without introducing awkward decimals in contexts. This adaptation was not a formal redefinition but a pragmatic convention driven by the causal necessity of alignment in , where multiples would complicate addressing and allocation; for instance, early magnetic and memories were engineered in -unit blocks to match word sizes and bus widths. Documented applications of this usage appeared in mainframe specifications by the mid-1960s, such as the series (announced 1964), which denoted RAM capacities like 8K or 16K bytes, explicitly equating 1K to bytes to reflect binary page and block sizing in its architecture. Likewise, minicomputers like the DEC PDP-8 () employed "K" for 1024-word modules in core memory, standardizing the term across programming manuals and datasheets for both and ferrite-core technologies prevalent at the time. These practices ensured seamless integration with 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. This binary prefix convention extended to peripherals and software addressing, where quantities like 1K bits or words facilitated direct mapping to and avoided overflow in early limited-address-space systems; for example, the (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.

Onset of Ambiguity in Data Storage

The divergence between binary and interpretations of prefixes in emerged prominently in the late and early , as (HDD) capacities scaled to the level. Prior to this, smaller capacities in kilobytes and megabytes exhibited minimal practical discrepancy (e.g., 2^10 = vs. 10^3 = 1000 bytes for , a ~2.4% difference), which was often overlooked in early contexts where exact byte counts were specified without . HDD manufacturers, however, consistently applied (SI) definitions from the introduction of prefixed capacities, defining 1 as 10^9 bytes to align with conventions and facilitate marketing of higher nominal figures. A key early instance was IBM's 3380 drive, released in 1980, advertised with 2.52 capacity—equivalent to 2.52 × 10^9 bytes—marking the first commercial HDD exceeding 1 under decimal reckoning. This approach contrasted sharply with and software conventions, where 1 denoted 2^30 = 1,073,741,824 bytes, rooted in binary addressing for allocation and systems. Operating systems like Windows and Unix-derived systems displayed available storage using binary units, leading consumers to perceive a shortfall; a labeled 10 yielded roughly 9.31 GiB (binary gigabytes) in the OS. By the early 1990s, this practice proliferated among manufacturers, including IBM's series, exacerbating confusion as consumer adopted GB-scale HDDs while remained firmly binary-aligned. The ~7.37% underreporting gap for (and larger for TB at ~10%) fueled early complaints, as users compared advertised specs against OS-reported , highlighting the causal role of marketing incentives in prioritizing decimal for storage over computational norms. Empirical evidence of user frustration appears in technical forums from the mid-1990s onward, predating formal attempts.

Pre-IEC Proposals for Resolution

In 1968, as ambiguities in prefix usage became evident in contexts—where and were typically measured in powers of rather than 1000—proposals for distinct binary notations appeared in the Communications of the ACM. Wallace Givens recommended "" as a specific for to differentiate it from decimal equivalents, arguing that this would reduce confusion in technical documentation without altering established conventions. The same publication featured additional suggestions, including Donald Morrison's advocacy for the Greek letter κ to denote , with κ² representing 1,048,576 (²), extending to higher powers as needed; this approach leveraged symbolic notation to explicitly signal 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 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 "" prefix (from "," referencing base-2 structure) combined with terms, such as "dikilobyte" for 1024 bytes or "dimegabyte" for 1,048,576 bytes, alongside symbolic variants like k₂B ( with binary subscript). Kuhn emphasized backward compatibility, recommending unabbreviated units like "dikilobyte" for readability and allowing subscripts for compact notation in or displays; he critiqued ad-hoc solutions like uppercase K for as insufficiently precise, drawing on historical precedents including the 1968 ACM letters to argue for prefixes that preserved decimal integrity while enabling unambiguous 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 (IEC) approved Amendment 2 to International Standard IEC 60027-2, titled Letter symbols to be used in electrical technology – Part 2: , and related fields. 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 multiples—powers of 2—to address longstanding in contexts where "" and similar terms had been overloaded to mean both 10^3 ( decimal) and 2^10 (). The amendment specified these prefixes for use in , data transmission, and quantities, recommending their application to units like the byte (e.g., 1 KiB = bytes). Amendment 2 was published on January 29, 1999, marking the first international standardization of prefixes and extending coverage up to multiples of 2^60. The prefixes follow a consistent : names formed by adding "-bi" to the first two letters of the corresponding prefix (e.g., "ki" from "kilo"), with symbols consisting of the prefix symbol followed by "i" (e.g., "Ki" from "k"). This design preserved prefixes strictly for decimal powers of 10 while providing unambiguous alternatives for scales prevalent in addressing and . The defined prefixes are as follows:
Binary FactorPrefix NameSymbol
2¹⁰kibiKi
2²⁰mebiMi
2³⁰gibiGi
2⁴⁰tebiTi
2⁵⁰pebiPi
2⁶⁰exbiEi
These prefixes were positioned as a precise tool for technical documentation and specifications, with the IEC emphasizing their role in eliminating errors from prefix misuse, such as discrepancies in reported hard drive capacities where manufacturers used decimal interpretations while operating systems applied . The standard's content was later integrated into the second edition of IEC 60027-2 (published November 2000) before being reaffirmed and expanded in subsequent documents like IEC 80000-13 (2008).

Endorsements and Divergences by Other Organizations

The (ISO) endorses binary prefixes through its joint standard with the (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 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 , , and 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 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 (SI), where prefixes like kilo- and mega- strictly denote decimal multiples of 1000 and 1,000,000, respectively. 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 , without formal integration into broader practices. The Bureau International des Poids et Mesures (BIPM), custodian of the , 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 system's foundational powers-of-ten structure. 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 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 , has faced significant resistance due to deeply entrenched historical conventions in , where terms like "" have denoted 1024 bytes since the mid-20th century, predating formal efforts. 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 to incorporate "kibibyte" (KiB) would require extensive testing and could introduce compatibility issues across ecosystems. multiples aligned with powers of 2 emerged naturally from early computer architectures in the and , as processors and addressed data in increments, fostering a that resisted later decimal-binary distinctions. 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. Hard drive producers, including major firms like Seagate and , adopted this practice by the early 2000s, aligning with (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. 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. 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. The absence of mandatory compliance across standards organizations—while the IEC and IEEE endorse binary prefixes, bodies like NIST clarify they fall outside core units—exacerbates fragmentation, with voluntary adoption limited to niches like certain distributions and scientific computing. Without coordinated mandates or economic penalties, inertia from mixed decimal-binary applications in networking, , and sustains ambiguity, hindering widespread standardization over two decades post-IEC introduction.

Controversies and Disputes

Origins of Prefix Misuse in Marketing

The application of to capacities, diverging from the binary conventions prevalent in , emerged in the late as manufacturers scaled production to gigabyte-level storage. This shift enabled advertising capacities using powers of ten—such as defining 1 as exactly bytes—to produce larger, round numerical figures aligned with standards, contrasting the approximate usage (1 ≈ 2^{30} = 1,073,741,824 bytes) inherited from early mainframe and addressing. pioneered this approach with its multi-gigabyte drives, advertising them under metrics by the early to reflect physical byte counts in decimal multiples, which facilitated straightforward marketing of products like the 0664, a 1 model from 1990. 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. 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. 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).

Consumer Confusion and Empirical Evidence

The discrepancy between manufacturer-advertised storage capacities, calculated using (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. This arises because hardware vendors align with SI decimal standards for marketing, while software defaults to powers of for memory addressing, a convention rooted in early computing architecture. Consumers, often lacking awareness of these dual systems, interpret the shortfall as a defect or , prompting support inquiries and returns. Evidence of such confusion manifests in legal actions, including a 2003 class-action filed by U.S. against major hard drive makers like and Seagate, alleging deceptive overstatement of capacities by approximately 7% due to decimal usage. Similar complaints surged in consumer forums and help resources around that period, with users reporting "missing" space on newly purchased drives. Although no large-scale peer-reviewed surveys quantify rates, the persistence of explanatory articles from manufacturers—such as Seagate's entry addressing the issue since at least 2003—indicates recurrent user reports. Cognitive analyses highlight how parallel numeration systems ( for sales, for computation) impose additional mental processing demands, amplifying errors in estimation and contributing to frustration in IT purchasing. 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 norms suffice for reasonable understanding. This suggests that while initial ambiguity generated verifiable backlash, heightened awareness via online resources has mitigated widespread , though isolated misunderstandings endure among non-technical buyers. One prominent legal challenge arose in the United States through lawsuits against hard drive manufacturers, alleging due to discrepancies between advertised decimal-based capacities (using powers of ) and the binary-based measurements (powers of ) displayed by operating systems, resulting in perceived shortfalls of approximately % for gigabyte-scale drives. In a 2006 settlement, 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. Similar litigation targeted flash memory producers, with a 2007 class action suit claiming companies like and overstated capacities by applying decimal definitions, inflating sizes by about 4-7% compared to binary expectations in consumer devices. These cases underscored consumer reliance on historical binary conventions in computing, despite manufacturers' adherence to (SI) decimal standards formalized in the 1990s, but courts focused on marketing practices rather than mandating binary prefix adoption like "GiB". 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. No major U.S. rulings definitively resolved the binary-decimal debate, leaving persistent disputes without enforceable standardization on prefixes.

Current Adoption and Practices

Usage in Operating Systems and Software

In Windows, file sizes in are computed using binary scaling, where 1 denotes 1024 bytes, reflecting historical conventions aligned with powers of two for and file allocation. In contrast, reported drive capacities employ decimal scaling, with 1 representing 1,000,000,000 bytes, to match hard drive manufacturer labeling under and SI-influenced standards. This dual approach persists as of in 2025, contributing to user discrepancies between advertised and usable storage. macOS, from version 10.6 onward, uniformly applies decimal prefixes for both file sizes and disk capacities in Finder and , defining 1 kB as 1000 bytes and 1 GB as 1,000,000,000 bytes to conform with decimal conventions and storage industry practices. This standardization, implemented by in 2009, avoids binary multipliers for reported volumes, though underlying operations like HFS+ or APFS may internally leverage binary blocks. Linux distributions predominantly utilize 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), (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. File managers in environments like () and () display sizes using binary scaling, frequently adopting IEC prefixes such as KiB and as of in 2014 and in 2011, promoting precision in contexts like and sizing. ![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. As of 2025, empirical surveys of distributions like and confirm binary dominance for in-memory and file operations, but decimal prevails in network throughput displays to align with SI-based bandwidth standards. This variance underscores ongoing tensions between computational efficiency (powers of two) and interoperability with decimal hardware metrics.

Application in Hardware and Data Rates

Binary prefixes are applied in hardware specifications for components structured around binary addressing, including (RAM) and CPU caches. RAM capacities align with powers of two, where 1 GiB equals 2^{30} bytes (1,073,741,824 bytes), as defined for by standards bodies. For example, a 32-bit processor's addressable RAM is 4 GiB (2^{32} bytes). CPU caches, such as L1 and caches, are commonly sized at 32 KiB or 64 KiB per core, reflecting binary multiples for efficient addressing. In storage hardware like hard disk drives (HDDs) and solid-state drives (SSDs), manufacturers label capacities with (e.g., 1 TB = 10^{12} bytes) to comply with conventions, but the actual addressable space and operating system reporting often use interpretations, resulting in displayed capacities like 931 GiB for a 1 TB drive. prefixes offer precision here, as storage allocation in file systems operates on blocks, with differences growing at larger scales (e.g., 1 TB decimal = 0.909 binary, a 9.09% discrepancy). Data rates in hardware, including network bandwidth and storage transfer speeds, predominantly employ decimal prefixes per telecommunications standards; for instance, specifies 1 Gbps as 10^9 bits per second. Binary prefixes, while standardized for data transmission to denote powers of two (e.g., 1 Kibit = 2^{10} bits), see limited adoption in hardware specs, though software tools may report throughput in MiB/s to distinguish from decimal MB/s and align with data units. This selective use underscores binary prefixes' role in clarifying binary-aligned measurements amid decimal dominance in rate specifications.

Persistent Industry Resistance and Rationales

Despite the IEC's introduction of binary prefixes in its 60027-2 Amendment 2 in 1999, adoption remains limited, with most software, operating systems, and documentation continuing to use traditional SI-derived prefixes like for binary multiples of bytes. This persistence stems from historical precedents dating to the mid-1960s, when logic in computer architectures prompted practical approximations using powers of 2 under SI-like labels (e.g., for 2¹⁰) due to the absence of dedicated binary units at the time. Industry rationales emphasize entrenched practices and inertia, as retrofitting millions of lines of code, user interfaces, and systems to distinguish "kibibyte" (KiB = 2¹⁰ bytes) from "kilobyte" ( = 10³ bytes) would impose significant engineering and training costs without immediate benefits. Operating systems like Windows and many distributions retain binary interpretations for and file allocations to align with addressing (powers of 2), prioritizing compatibility over terminological precision. Storage manufacturers, conversely, adhere to for device capacities per conventions, as a 1 TB drive equates to exactly 10¹² bytes, avoiding binary labels that would understate marketed volumes by approximately 7-10% relative to operating system displays. Further resistance arises from the perceived unfamiliarity and lack of enforcement of IEC terms, with no regulatory mandates compelling change and minimal institutional dissemination efforts to promote them. Proponents of usage contend that contextual clarity suffices in most scenarios, as the 2.34% divergence between 1000 and 1024 rarely impacts practical computations, and forced adoption could exacerbate short-term user errors during any rollout. This combination of legacy alignment, economic disincentives for storage marketing, and voluntary standards has sustained ambiguous application over strict differentiation.

Extended Applications

Non-Storage Contexts in Computing

In random-access memory (RAM), capacities adhere to binary multiples as defined by JEDEC standards, with the prefix "mega" (M) specifying 2^{20} (1,048,576) bytes for semiconductor memory modules. This convention ensures alignment with binary addressing, where modules are manufactured in powers of two, such as 8 GB equating to 8 × 2^{30} bytes (approximately 8.59 × 10^9 bytes). Operating systems reflect this in reporting; Linux kernels, for instance, interpret "kB" in /proc/meminfo as 1,024 bytes, while Windows displays RAM usage with MB denoting 1,048,576 bytes. CPU caches similarly employ binary units due to their hierarchical, power-of-two structure optimized for fetches. L1 caches commonly range from 16 KiB to 64 KiB per core (2^{14} to 2^{16} bytes), from 256 KiB to 1 (2^{18} to 2^{20} bytes), and shared L3 up to tens of , as verifiable through system queries like Linux's lscpu command outputting sizes in KiB. This usage stems from cache line transfers, typically 64 bytes (2^6), which minimize overhead in binary-aligned architectures. ![GNOME System Monitor displaying memory size in binary units and network rate in decimal units][center] In contrast, non-memory data rates like bandwidth universally adopt prefixes per industry standards, where 1 Mbps equals exactly 1,000,000 bits per second to facilitate in protocols. The IEC endorses decimal notation here to distinguish from contexts, avoiding in transmission metrics. Software contexts, such as memory allocation in programming (e.g., resource limits using for 2^{20} bytes), also favor binary for precision in and sizing, though explicit IEC symbols (KiB, ) see limited uptake outside technical documentation, with conventional / often implying binary values. This persistence reflects hardware realities over standardized nomenclature, prioritizing functional accuracy in binary-dominant operations.

Implications for Data Measurement Accuracy

The use of (e.g., as 1000 bytes) for quantities that are inherently multiples (e.g., bytes in RAM addressing or blocks) introduces systematic discrepancies in data measurement, with relative errors escalating from approximately 2.4% at the kilobyte level (/1000) to 9.1% at the terabyte level (2^40 / 10^12 ≈ 1.0995). This mismatch arises because and software operate on base-2 addressing and allocation, rendering approximations imprecise for exact capacity reporting and leading to underestimations when systems interpret advertised values. In storage devices, a drive marketed as 1 TB (10^12 bytes) yields only about 931 GiB (2^30 bytes per GiB) when measured by operating systems using binary conventions, potentially causing errors in space allocation algorithms or user expectations of available storage, as the actual usable bytes deviate from the labeled figure by over 68 billion bytes. Binary prefixes like tebibyte (TiB = 2^40 bytes) eliminate this offset by aligning nomenclature directly with hardware realities, enabling more accurate forensic analysis, backup verification, and in environments handling petabyte-scale data. For dynamic measurements such as usage or , ambiguous prefixes exacerbate rounding errors in and tools; for instance, assuming 1 = 10^6 bytes in a context can inflate reported utilization by up to 4.9% (2^20 / 10^6 ≈ 1.0486), risking suboptimal resource provisioning or undetected overflows in systems. Standards bodies emphasize that reserving decimal prefixes strictly for powers of 10 preserves measurement , while binary prefixes ensure causal fidelity to computational bases, reducing propagation of inaccuracies in chained calculations like cumulative data transfers or archival checks.

References

  1. [1]
    Definitions of the SI units: The binary prefixes
    Names and symbols for prefixes for binary multiples for use in the fields of data processing and data transmission.
  2. [2]
    About bits and bytes: prefixes for binary multiples - IEC
    For each decimal prefix, a binary prefix is defined, so that in correspondence to the decimal “kilo” there is a “kilobinary” prefix, named “kibi” and with “Ki” ...
  3. [3]
    SI and Binary Prefixes: Clearing the Confusion
    Aug 1, 2023 · This article introduces new prefixes for binary multiples and proposes several actions to be undertaken to disseminate the correct information.
  4. [4]
    Why are Bytes talked about in powers of 2? - Stack Overflow
    Sep 7, 2016 · The reason that memory, disk space, etc is described in bytes rather than bits has to do with the word addressability of early computers.
  5. [5]
    Mathematical benefit to use CPU/memory that increases by powers ...
    Dec 17, 2023 · Since computers use a binary system to represent data, a heavy use of powers of 2 results in easier optimizations in general. The key reason ...Missing: basis | Show results with:basis<|separator|>
  6. [6]
    Memory capability and powers of 2 - Electrical Engineering Stack ...
    Jul 25, 2019 · Since addresses are passed to memory chips as binary numbers, it makes sense to build them in capacities of powers of 2.
  7. [7]
    Decimal and Binary Prefixes - Blocks and Files
    Apr 23, 2022 · When dealing with the capacity of computer memory or storage the binary prefix is more accurate, although the less accurate decimal prefixes are ...
  8. [8]
    Units of measurement for storage data - IBM
    Units of measurement for storage data ; 100 kilobytes (KB), 97.65 kibibytes (KiB), 2.35% ; 100 megabytes (MB), 95.36 mebibytes (MiB), 4.64% ; 100 gigabytes (GB) ...
  9. [9]
  10. [10]
    A look at IBM S/360 core memory: In the 1960s, 128 kilobytes ...
    Apr 15, 2019 · This article explains how core memory worked, how this core array was used in mainframes, and why core memory was so bulky.
  11. [11]
    Why do hard drive manufacturers use 1GB=1 billion bytes instead of ...
    Dec 24, 2015 · Disk drive manufacturers used to stick to the computer usage that Giga meant 2^30 bytes. But then one manufacturer came out with a drive ...
  12. [12]
    When was the world's first 1 gigabyte disk drive made? What ... - Quora
    Sep 25, 2019 · 1980: IBM introduces the first gigabyte hard drive. It is the size of a refrigerator, weighs about 550 pounds, and costs $40,000.
  13. [13]
    Why are hard drives never as large as advertised? - Super User
    Jul 15, 2009 · Similarly, when a manufacturer prints 8 GB on a device, they are using decimal prefixes. The ones with trailing zero values! So 8 GB is not 8 ...
  14. [14]
    Was there ever a time where it was widespread to erroneously use ...
    Apr 3, 2025 · Because of this very confusion, IEC created binary prefixes (kibi-, mebi-, gibi-, etc). After that, kilobyte was officially defined as 1000 ...Microsoft going their own way : r/iiiiiiitttttttttttt - RedditMibi Mega Kibi Kilo - Decimal and Binary prefixes : r/compsci - RedditMore results from www.reddit.com
  15. [15]
    Gigabyte: Decimal vs. Binary - Coding Horror
    Sep 11, 2007 · When you buy a "500 Gigabyte" hard drive, the vendor defines it using the decimal powers of ten definition of the "Giga" prefix.<|separator|>
  16. [16]
    Letters to the editor: proposed abbreviation for 1024: bK
    Letters to the editor: proposed abbreviation for 1024: bK · Abstract · Formats available · Cited By · Recommendations · Comments · Information & Contributors.
  17. [17]
    information-units.txt
    Note: It is possible and recommended by this proposal to use the unabbreviated unit name 'byte' with abbreviated prefixes as shown above. The abbreviation 'b' ...
  18. [18]
    IEC 60027-2:1972/AMD2:1999
    Publication type, International Standard. Publication date, 1999-01-29. Edition, 1.0. ICS. 01.060. Withdrawal date, 2000-11-22. ISBN number, 2831846803. Pages ...
  19. [19]
    Understanding "disk space math" - Fedora Magazine
    Nov 11, 2019 · The table below lists common designations as they are used for labeling decimal and binary values. Decimal. Binary. KB (Kilobyte). 1KB = 1,000 ...
  20. [20]
    Storage capacity measurement standards | Seagate US
    In the past, computer professionals noticed that 1024 or 2^10 (binary) was very nearly equal to 1000 or 10^3 (decimal) and started using the prefix "kilo" to ...
  21. [21]
    history - How did the IEC decide to create kibibytes?
    Jul 3, 2019 · To me it seems like kilobytes were well established as 1024 bytes, both by programmers using them and by electronic engineers. Indeed, even now ...
  22. [22]
    Why does my hard drive report less capacity than indicated on the ...
    This article explains why a hard drive's capacity often appears to be less than advertised when displaying in Windows or older Mac operating systems.
  23. [23]
  24. [24]
    Why Hard Drives and Memory Cards Have Less Space Than ...
    Oct 10, 2012 · Computers always indicate that your hard drive or memory card has a smaller storage capacity than what's advertised on the box (and the card itself).
  25. [25]
    Consumers sue over hard drive sizes - ZDNET
    Sep 19, 2003 · A group of computer buyers claims that computer makers' advertising deceptively overstates the true capacity of their hard drives.
  26. [26]
    Consumers Up In Arms Over Hard Drive Scam - OSnews
    Sep 19, 2003 · Since Apple was advertising it as a 40 mb hard drive that is what they formatted it at, but they switched vendors and put in a 45 mb hard drive ...<|control11|><|separator|>
  27. [27]
    Real vs Advertsied HD Capacity - The "7% Rule"
    Aug 3, 2007 · As the drives get ever larger, the difference between advertised size and usable size become considerable, and I for one consider the present ...
  28. [28]
    When bases clash: cultural, cognitive and practical ramifications of numeration systems used in parallel - PMC
    ### Summary of Consumer Confusion Regarding Binary vs Decimal Prefixes in Storage Capacity
  29. [29]
    Court Dismisses Flash Drive False Advertising Suit Based On Back ...
    Jun 12, 2019 · ... and so received 6.7% less actual storage capacity than he expected. SanDisk moved to dismiss the complaint, arguing that a reasonable ...<|control11|><|separator|>
  30. [30]
    Why is the capacity of a hard drive smaller than what is advertised?
    Jun 15, 2024 · Hard Disk manufacturers say that a Gigabyte is 1,000,000,000. So in their ads, a 500GB HDD has 500,000,000,000 bytes of storage. When you plug ...Can you explain why consumers might still choose lower-capacity ...Why do all drives have less space than actually said? - QuoraMore results from www.quora.com
  31. [31]
    Western Digital Settles Hard-Drive Capacity Lawsuit - CRN
    Jun 28, 2006 · The lawsuit claimed Western Digital overstated the capacities of its hard drives by about 7 percent. For example, the settlement documents said, ...Missing: prefix discrepancy
  32. [32]
    Western Digital settles hard drive capacity class-action lawsuit
    Jun 28, 2006 · “The lawsuit against Western Digital alleged the company's 80-gigabyte hard drive had an actual capacity of 74.4 gigabytes. If not for that 7 ...
  33. [33]
    Hard Drive Class Action Settlement and HP Recalls September 2006
    In the lawsuit an 80GB Western Digital hard drive referenced had an actual capacity of 74.4 GB, as measured by Windows. This shortfall on that particular drive ...
  34. [34]
    Gigabytes vs. gibibytes class action suit nears end - CNET
    Dec 4, 2007 · Suit alleges companies misrepresent capacity of flash memory devices by using decimal definitions, thus overstating memory card sizes by 4 ...
  35. [35]
    The Case of the Missing Capacity - eWeek
    Sep 24, 2003 · The so-called “missing” capacity is because of the binary-decimal difference as well as the allocation tables and other formatting overhead.Missing: discrepancy | Show results with:discrepancy
  36. [36]
    Confusion over hard drive capacity ends in lawsuit at DVinfo.net
    Jun 23, 2006 · Plaintiff alleges that in the sale and marketing of its hard disk drives, Defendant overstates the useable storage capacity by approximately 7%.
  37. [37]
    Why are manufacturers allowed to make false claims about memory ...
    Mar 22, 2016 · In many cases, a willingness to set aside more slack space can improve performance, and a desire to maximize storage efficiency will impede ...Missing: complaints | Show results with:complaints
  38. [38]
    Size of files in Windows: is it KB or kB? - Super User
    Jul 9, 2015 · One "kilobyte" (KB) is 1024 bytes in JEDEC-standard, whereas the definition has shifted, in most contexts, to mean 1000 bytes (kB) in accordance with SI.File Explorer Size property less than file size in properties - Super UserFile sizes in Windows not making sense - Super UserMore results from superuser.comMissing: manager | Show results with:manager
  39. [39]
    Displaying file size: 1000b = 1kb or 1024b = 1kb? - Stack Overflow
    Dec 26, 2011 · Both are correct, and both are used in different situations. 1024 is more common for file sizes, while 1000 is more common for physical disk sizes.Really 1 KB (KiloByte) equals 1024 bytes? - binaryFile size difference between MB and bytesMore results from stackoverflow.com
  40. [40]
    is file size on the computer in base 2 or… - Apple Support Community
    Apr 26, 2018 · iOS and macOS use the decimal system. The operating system of your iPhone, iPad, iPod touch, and Mac reports storage capacity using the ...160 GB harddrive in MPB - Apple Support Communities500 gig drive only 465 gig. Is this normal? - Apple Support CommunityMore results from discussions.apple.comMissing: prefixes | Show results with:prefixes
  41. [41]
    How can I force MacOS to make a binary conversion of filesizes in ...
    Feb 5, 2011 · Unfortunately, you can't. See this apple support document which explains that since 10.6 they started measuring storage capacity according to the decimal GB ( ...
  42. [42]
    df(1) - Linux manual page - man7.org
    Binary prefixes can be used, too: KiB=K, MiB=M, and so on. FIELD_LIST is a comma-separated list of columns to be included. Valid field names are: 'source', ' ...
  43. [43]
    Linux use binary or decimal prefix? - Ask Ubuntu
    Jun 15, 2015 · Linux likely uses binary prefixes, as the kernel documentation doesn't use SI prefixes and some documentation uses older variants.On Ubuntu, which applications use binary file size units, and which ...df -h - Used space + Avail Free space is less than the Total size of ...More results from askubuntu.com
  44. [44]
    Binary and Decimal Prefixes - Articles - Ezio Melotti
    The binary prefixes are: Ki-, Mi-, Gi-, Ti-, Pi-, Ei-, Zi-, Yi-. 'b' is used to indicate bits, 'B' is used to indicate bytes. The symbol for the "kilo-" prefix ...
  45. [45]
    MiB vs. MB: Understanding the Units for Data Rates and Bandwidth
    While new terms such as kibibyte, Mebibyte and Gibibyte, with symbols KiB, MiB and GiB, would denote 210 (1024), 220 and 230 bytes respectively. Name, Symbol ...
  46. [46]
    [PDF] jedec standard
    mega (M) (as a prefix to units of semiconductor storage capacity): A multiplier equal to 1 048 576 (220 or K2, where K = 1024). NOTE 1 Contrast with the SI ...
  47. [47]
    mega (M) (as a prefix to units of semiconductor storage capacity)
    mega (M) (as a prefix to units of semiconductor storage capacity) A multiplier equal to 1 048 576 (2 20 or K 2 , where K = 1024).Missing: RAM | Show results with:RAM
  48. [48]
    Gigabyte: Decimal vs. Binary - blog - Coding Horror Discussion
    Sep 10, 2007 · The oldest hard drive add I can find advertises 5 million 7 bit characters. Floppy disk and CDs were in 1000 byte kilo/mega bytes. Except ...
  49. [49]
    How to Find the Size of L1, L2, and L3 Cache in Linux - Baeldung
    Mar 18, 2024 · The output states the L1d cache size is 64 KiB (kilobytes), and the presence of 2 instances indicates two separate L1d caches, one per core.
  50. [50]
    Measuring the size of the cache line empirically - Daniel Lemire's blog
    Dec 12, 2023 · Cache line size can be measured empirically using a strided copy of a large array. If the stride is twice the cache line, speed should increase ...
  51. [51]
    What are bits per second (bps or bit/sec)? - TechTarget
    Jun 1, 2021 · ... binary or decimal prefixes. Here are a few of the most common prefixes and their meanings: 1,000 bps = 1 Kbps;; 1,000,000 bps = 1 Mbps; ...<|separator|>
  52. [52]
    IEC or SI units (binary prefixes) used for network measurement?
    Oct 17, 2013 · The IEC recommends the standard use of SI decimal prefixes. They have created additional, unambiguous, binary prefixes kibi-, mebi-, gibi- etc.
  53. [53]
    Understanding Memory Units in Kubernetes - Usama Aijaz's blog
    Aug 14, 2024 · 1. Binary Units (IEC Prefixes) – Powers of 2. Binary units are based on powers of 2, aligning with how computers process data using binary code ...<|separator|>
  54. [54]
    [PDF] Guide for the Use of the International System of Units (SI)
    Feb 3, 1975 · For example, it is unacceptable to use kilo (k) to represent 210 = 1024, mega (M) to represent 220 = 1 048 576, or giga (G) to represent 230 = 1 ...Missing: benefits | Show results with:benefits