Computing: mega vs mibi, kilo vs kibi

Perm url with updates:

Computing: mega vs mibi, kilo vs kibi

Xah Lee, 2011-05-26

You know what kilo, mega, means right? like, a kilogram is one thousand grams. It's quite simple, going by the powers of 10, adding 3 zeros for each higher level.

kilo = 10^3 = 1000^1 =         1,000
mega = 10^6 = 1000^2 =     1,000,000
giga = 10^9 = 1000^3 = 1,000,000,000

But in computing, there's a abomination. kilo doesn't mean 1000, it means 1024, and mega isn't a million, but 1048576. WTF?

In your blogs, please do not say kilobyte to mean 1024 bytes. Use the following terms:

kibi = 2^10 = 1024^1 =             1,024
mibi = 2^20 = 1024^2 =         1,048,576
gibi = 2^30 = 1024^3 =     1,073,741,824

Let the terms: kilo, mega, giga, be what they always meant universally, that is, powers of 10.

See: Binary prefix and Timeline of binary prefixes. Interesting quotes:

One source of consumer confusion is the difference in the way many operating systems display hard drive sizes, compared to the way hard drive manufacturers describe them. As noted previously, hard drives are described and sold using “GB” or “TB” in their SI meaning: one billion and one trillion bytes. Many current operating systems and other software however display hard drive and file sizes using “MB”, “GB” or other SI-looking prefixes in their “binary” meaning, just as they do for displays of RAM capacity. (This is fairly recent. The presentation of hard disk drive capacity by an operating system using “MB” in a binary sense appears no earlier than Macintosh Finder after 1984. Prior to that, on the systems that had a hard disk drive, capacity was presented in decimal digits with no prefix of any sort (e.g., MS/PC DOS CHKDSK command).)

I am surprised to learn that the change actually has been adopted by a few. Quote:

2009. Apple Inc. uses the SI decimal definitions for capacity (e.g., 1 kilobyte = 1000 bytes) in the Mac OS X v10.6 operating system to conform with standards body recommendations and avoid conflict with hard drive manufacturers' specifications.[84][85]

2010. The Ubuntu operating system uses the IEC prefixes for base-2 numbers as of the 10.10 release.[86]

Way to go, Apple and Ubuntu.

When fixing this problem, there are 2 ways. One is simply always use powers of 10, and abolish the 1024 shit, like Apple has done. The other way is to use the proper binary prefix, as Ubuntu has done. I favor the abolishment of talking of numbers by powers of 2 because ultimately it's simply a side-effect, by-product, of engineering. (such as the data types of extreme idiocy of “long”, “double”, “float” in programing languages.) Of course, due to inherent digital circuits, often we need to talk of numbers in terms of binary powers (e.g. byte, memory, data transmissions). In that case, i faver using math expressions. e.g. 1024 would be written as 1*2^10. So, one mibi byte would be written as 1*2^20.


There are few scumbags in society that tried to take advantage of this situation. Quote:

Willem Vroegh v. Eastman Kodak Company

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 traditional 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.[38]

The manufacturers agreed to clarify the flash memory card capacity on the packaging and web sites.[39] The consumers could apply for “a discount of ten percent off a future online purchase from Defendants’ Online Stores Flash Memory Device”.[40]

Orin Safier v. Western Digital Corporation

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.[41]

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.[42]

Western Digital offered to compensate customers with a free download of backup and recovery software valued at US$30. They also paid $500,000 in fees and expenses to San Francisco lawyers Adam Gutride and Seth Safier, who filed the suit. The settlement called for Western Digital to add a disclaimer to their later packaging and advertising.[43][44][45]

Cho v. Seagate Technology (US) Holdings, Inc.

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 March 22, 2001 and September 26, 2007. The case was settled without Seagate admitting wrongdoing, but agreeing to supply those purchasers with free backup software or a 5% refund on the cost of the drives.[46]

Popular posts from this blog

11 Years of Writing About Emacs

does md5 creates more randomness?

Google Code shutting down, future of ErgoEmacs