I was bothered by the fact that I could not unambiguously write "20 MB" in a way which specifically signifies that I did not mean "20 MiB" (see Wikipedia's binary prefix page for a discussion of the meaning and origins of this notation).
Wikipedia calls this "traditional units" — you read the first few digits and then round at that point, just like you do with numbers in the base-10 system in general. When the measurements are large, the difference between a "traditional" rounding and one based on IEC standard units is also large (for megabytes, the difference between a "traditional" megabyte and a mebibyte is almost 4.9%; for gigabytes, it's already more than 7.3%, and the difference for terabytes approaches 10%. See the units(7) man page for more comparisons.)
So here is my proposal. Coin an infix, similar to the "-i-" in MiB, KiB, with the opposite meaning, and additionally, specify how to pronounce it. A friend suggested using zero as the infix, but I find that unattractive. My candidate would be "t", like in "traditional", and pronouncing it "tri" — "kitribyte", "metribyte", "gitribyte", "tetribyte", "petribyte", "extribyte".
1 KiB = 1.024 KtB
1 MiB = 1.048576 MtB
1 GiB ≈ 1.07 GtB
1 TiB ≈ 1.09 TtB
1 PiB ≈ 1.13 PtB
1 EiB ≈ 1.15 EtB
I acknowledge that these terms are at least as ugly as the IEC ones, but IMHO these fill a need. Moreover, it seems kind of lacking that the IEC standardization effort failed to define this set of orthogonal terms.
Recent Comments