# Say Hi to KiB, MiB, GiB and TiB

• ### General discussion

• Hi Windows Team

I have been encouraging this to many companies and independent developers.

For example: A CDR has 700 MiB. A DVDR has 4.7 GB or 4700 MB.

Requesting Feature: Support for SI Units

Historical context

Once upon a time, computer professionals noticed that 2^10 was very nearly equal to 1000 and started using the SI prefix "kilo" to mean 1024. That worked well enough for a decade or two because everybody who talked kilobytes knew that the term implied 1024 bytes. But, almost overnight a much more numerous "everybody" bought computers, and the trade computer professionals needed to talk to physicists and engineers and even to ordinary people, most of whom know that a kilometer is 1000 meters and a kilogram is 1000 grams.

Then data storage for gigabytes, and even terabytes, became practical, and the storage devices were not constructed on binary trees, which meant that, for many practical purposes, binary arithmetic was less convenient than decimal arithmetic. The result is that today "everybody" does not "know" what a megabyte is. When discussing computer memory, most manufacturers use megabyte to mean 220 = 1 048 576 bytes, but the manufacturers of computer storage devices usually use the term to mean 1 000 000 bytes. Some designers of local area networks have used megabit per second to mean 1 048 576 bit/s, but all telecommunications engineers use it to mean 106 bit/s. And if two definitions of the megabyte are not enough, a third megabyte of 1 024 000 bytes is the megabyte used to format the familiar 90 mm (3 1/2 inch), "1.44 MB" diskette. The confusion is real, as is the potential for incompatibility in standards and in implemented systems.

Faced with this reality, the IEEE Standards Board decided that IEEE standards will use the conventional, internationally adopted, definitions of the SI prefixes. Mega will mean 1 000 000, except that the base-two definition may be used (if such usage is explicitly pointed out on a case-by-case basis) until such time that prefixes for binary multiples are adopted by an appropriate standards body.

Please give us the choice to display the preferred units. Set the standard for others.

Thanks

Mike

• Edited by Thursday, November 3, 2011 11:54 AM
Thursday, November 3, 2011 11:51 AM

### All replies

• Thanks for the feedback!
Thursday, November 3, 2011 6:09 PM
• It's kind of interesting to note how far the disagreement on which capacity labeling is "right." There have been a number of law suites over the years because of it.

Lawsuits have been filed against hard disk manufacturers Seagate[15] and Western Digital,[16] related to the claimed capacity of their drives. The drives are labelled using the "decimal definition" of 1000 bytes to the kilobyte, resulting in a perceived capacity shortfall to those used to the "binary definition" of 1024 bytes to the kilobyte, which is how most operating systems report capacity.[17] While Western Digital maintained that they used "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,[18] with a \$30 refund to affected customers in the form of backup and recovery software of the same value.[17] A disclaimer is now included with all drives explaining the capacity figures.

I personally prefer the base-2 numbering. Though I recognize that the every day person hasn't memorized their powers of 2 up to 40.

Joel Ivory Johnson | http://www.j2i.net | Windows Phone Developer MVP
It takes all the running you can do to stay in one place.If you want to get somewhere else,you must try to run at least twice as fast as that.

Saturday, November 5, 2011 11:14 PM
• When discussing computer memory, most manufacturers use megabyte to mean 220 = 1 048 576 bytes, but the manufacturers of computer storage devices usually use the term to mean 1 000 000 bytes.
Isn't it a problem for storage device manufacturers? ;)
Sunday, November 6, 2011 9:48 AM
• HDD manufacturers are absolutely right in this context. They GB to say 1 000 000 000 Bytes which is correct.

However, RAM manufactures are using the wrong units. They use GB to say 1 073 741 824 Bytes. Nobody is going to sue RAM manufacturers because to consumers it looks like they are getting "more" than what they asked for.

The confusion happens when the consumer brings a 1000 GB hard disk home and plugs it in to find out it actually says 931 "GB" instead of 1000. Our current OS shows the correct value 931 but the wrong unit, GB, and hence why there appears to be a conflict. So what the consumer is going to do? They sue the HDD manufacturer for selling "less".

The OS can give us the ideal solution for this. Give us two options to display units: binary and decimal.

If the user chooses binary, then show 931 GiB.

If the user chooses decimal, then show 1000 GB.

I would personally choose "binary" units, just like in this highlighted example:

Sunday, November 6, 2011 11:22 AM
• HDD manufacturers are absolutely right in this context. They GB to say 1 000 000 000 Bytes which is correct.

You believe this is correct, I believe this is only partially correct when using decimal prefix directly stated. Consensus? ;)

Bytes are not covered by International System of Units, so the prefix meaning may differ from SI definitions of kilo and so on.

I like Okkam and do not like an idea to add different prefixes.

• Edited by Sunday, November 6, 2011 12:13 PM
Sunday, November 6, 2011 12:06 PM
• Bytes are not covered by International System of Units, so the prefix meaning may differ from SI definitions of kilo and so on.

That is fairly true. However the SI enjoys a broad usage across every field in science, industry etc. Thus not using it or using it the wrong way would confuse customers. As it is the case today. Additionally it is hard to explain to non-proficient users and not being dissed for how bonkers computer scientists could be.

Therefore I would recommend to integrate the binary prefix as well as the correct meaning of the existing prefixes.

The default setting should be SI prefixes because users are used to them (in school, at work, etc.).

Internally, say for developers, engineers, etc., both prefix variants are acceptable and useful.

Thursday, December 1, 2011 4:47 PM