Opinion
Computing Applications Viewpoint

SI and Binary Prefixes: Clearing the Confusion

Considering the emergence of non-standard acceptance of SI prefixes.

Posted
text of binary multiples

The International System of Units (SI), organized by the International Bureau of Weights and Measures (BIPM), defines several prefixes to denote the quantities between 10−24 and 10+24, given in Table 1. It allows expression of very large or small quantities of all units of measurement in common scientific notation accepted by the international community. For example, the prefixes kilo (k), mega (M), giga (G), and tera (T) indicate 103n, for n= 1, 2, 3, and 4, respectively. However, when expressing data quantities and memory addresses, SI prefixes (SIPs) are misused to indicate binary multiples. In this non-standard adoption, for a number n, where n=1, 2, and 8, each prefix specifies 210n instead of their original values (103n). Almost everyone, including scientists and engineers, thinks that this non-standard acceptance is correct. On the other hand, the prefixes for binary multiples were already defined by the relevant standards approximately 23 years ago. This non-standard notation confuses at the very least or can cause rather serious problems. Hence, all parties should immediately abandon this misconception and disseminate the correct information to everyone.

t1.jpg
Table 1. SIPs and their values.

This Viewpoint provides first a historical view of the origins of this non-standard use of SIPs for binary multiples, encountered problems and suggested solutions, and the relevant standards. Then, this article introduces new prefixes for binary multiples and proposes several actions to be undertaken to disseminate the correct information.


Confusion was inevitable as parties followed different adoptions.


Back to Top

Problem Evolution

By the mid-1960s, binary logic, rather than the decimal system, was widely adopted as a standard for computer architectures. This led to expressing memory addresses and data capacities with multiples of two. At that time, there were no prefixes to denote binary multiples. It was a practical and easy solution to use SIPs rather than invent new ones. Therefore, KB meant 1,024 bytes instead of 1,000. The same was applied also for larger prefixes, as seen in Table 2.

t2.jpg
Table 2. Original and misused values of SIPs.

This invalid acceptance did not cause any problems at the time, as the quantities were so small and known to very few people specializing in computers and information technology. Over time, it became very common practice to denote binary multiples with SIPs. Meanwhile, some parties adhered to the SI standard while others followed the non-standard acceptance. For instance, driver manufacturers and the telecommunications industry used SIPs correctly, but operating systems misused them to denote binary multiples. Namely, K denoted 103 and 210 according to disk manufacturers and telecommunications industry, and operating systems, respectively.

So, confusion was inevitable as parties followed different adoptions. Such that many users could not understand why disk capacities displayed in the operating system are less than those specified by the manufacturers, as nicely demonstrated with an example in IEEE standard P1541-2002.4 Even disk manufacturers also did not understand exactly what SIPs indicate. A careful examination of the preceding example reveals the manufacturer has invented the third notation by denoting 103x210 and 103x220 with MB and GB terms, respectively. Even international standardization organizations included this non-standard acceptance in their literature. For example, IEEE 1212-1991 standard5 expressed Kbyte, Mbyte, and Gbyte as 210n, for n=1,2,3, respectively. Sometimes they gave both original and non-standard definitions together as in ANSI/IEEE 1084-19861 and IEEE 610.10-1994.6

Back to Top

Resolution

Several issues have already arisen due to the non-standard use of SIPs. The cases of Willem Vroegh2 and Orin Safier13 are very good examples of legal conflicts that can be encountered. So, the community sought viable solutions for new prefixes for binary representation other than SIPs. Morrison12 suggested the Greek letter Kappa (κ) x to denote 210, and κn notation to denote 210n (n is an integer of 1 and greater).2 Givens3 proposed bK as a substitute for the SI prefix k. He also stated a bK2-like notation could be followed for larger quantities. Martin11 also proposed a notation similar to the scientific notation, replacing the letter E with B to denote the binary system. For example, 3×220 can be written as 3B20. Markus Kuhn10 attached the suffix “di” to SIPs. For example, dikilo (k2) for 210 and dimega (M2) for 220. Donald E. Knuth used SIPs in their original meaning and suggested KKB for 210 and MMB for 220 in his famous book, The Art of Computer Programming.9 Ultimately, authorities accepted none of these suggestions.

The foundations of BIPs were laid by the International Union of Crystallography (IUCr) 1995 report by the International Union of Pure and Applied Chemistry’s (IUPAC) Interdivisional Committee on Nomenclature and Symbols (IDCNS) and by the recommendations of the National Institute of Standards and Technology (NIST).8 The report proposed the terms kibi, mebi, gibi, and tebi for 210, 220, 230, and 240, respectively, as given in Table 3; SI and binary prefixes appear in Table 4.

t3.jpg
Table 3. Prefixes recommended by IUPAC for binary multiples.

t4.jpg
Table 4. SI and binary prefixes.

Meanwhile, the IEEE Standards Coordinating Committee (SCC14) decided to use original definitions of SIPs. Thus, SCC14 engaged in feverish work with the computer community, ISO, and IEC to find acceptable prefixes for binary multiples.3 Eventually, the new prefixes for binary multiples were invented by combining the first two letters of the original SIPs and the term “binary.” For example, kibi (Ki), mebi (Mi), gibi (Gi), and tebi (Ti) for 210, 220, 230 and 240, respectively. In January 1999, the IEC, with the support of the IEEE and the international weights and measures committee (CIPM) of BIPM, published the new BIPs with the amendment to the IEC 60027-2 standard.2 The new prefixes pebi (250) and exbi 260 were added in the second and zebi (270) and yobi (280) in the third version (IEC 600272:2005) of this standard. All BIPs were later included also in the ISO/IEC 80000-13:2008 standard7 published by revising articles 3.8 and 3.9 of the IEC 60027-2:200, and also in the IEEE 1541-2002 standard (current version is 2021).4 A historical perspective of all these efforts and related standards is graphically shown in the accompanying figure.

uf1.jpg
Figure. A historical view of attempts to correct misuse and misconception of SIPs.

The correct values of SIPs and BIPs are presented together in Table 1. Accordingly, SI prefixes should only be used for multiples of 10 in accordance with the BIPM and IEEE 1541-2021, and, similarly, multiples of 210n should be expressed with binary prefixes in accordance with the ISO/IEC 60027-2 and 80000-13 standards.

Back to Top

Conclusion

The Mars Climate Orbiter, a $327.6 million project, was lost in space due to the simple mistake of adopting two different computing units—Pounds device controlling software and New-tons in engine thrust commands. Who can guarantee that a similar or more disastrous result will not happen due to the non-standard use of prefixes?


The Mars Climate Orbiter was lost in space due to the simple mistake of adopting two different computing units.


After all, humans have always been in search of obtaining the right information in the curiosity of understanding science. When he realized the information that he thought was correct, was indeed wrong, he replaced it with the correct one and continued on his way with new truths. In this sense, we should immediately update our knowledge and continue on our way with the correct information. So, here are a few suggestions on what to do at least to disseminate the correct information and clear up the confusion:

  • Relevant staff in universities and other institutions should be trained.
  • Online and face-to-face training, seminars, and so forth, should be organized.
  • Explanatory notes and documents should be distributed to all public and private institutions.
  • Scientific journals, publishing houses, and other similar institutions or organizations should be informed with correct information. In particular, editors should pay the necessary attention.
  • Organizations such as media, law offices, bar associations, and others should be furnished with the right information.

 

Join the Discussion (0)

Become a Member or Sign In to Post a Comment

The Latest from CACM

Shape the Future of Computing

ACM encourages its members to take a direct hand in shaping the future of the association. There are more ways than ever to get involved.

Get Involved

Communications of the ACM (CACM) is now a fully Open Access publication.

By opening CACM to the world, we hope to increase engagement among the broader computer science community and encourage non-members to discover the rich resources ACM has to offer.

Learn More