为什么 Windows 使用违背两百年前的国际 Metric prefix 规范的容量标注单位?

Windows中: 1KB = 1,024 Bytes 1MB = 1048,576 Bytes 1GB = 1,073,741,824 Bytes按照英语的习惯,在表示数字时,缩写的单字母K代表Kilo(千),M表示Mega(百万)…… 所以: 1KB = 1 KiloBytes = 1,000 Bytes 1MB = 1 MegaBytes = 1000,000 Bytes 1GB = 1 GigaBytes =1,000,000,000 Bytes按照国际单位制词头(Metric prefix)标准: 1kB = 1 KiloBytes = 1,000 Bytes 1MB = 1 MegaBytes = 1000,000 Bytes 1GB = 1 GigaBytes =1,000…
关注者
261
被浏览
45,137

26 个回答

题主你好,既然你这么纠结这个容量单位的标注方法,我们不妨先换个角度,看看你所推崇的 IEEE 1541 的具体情况:

第一,根据 Wikipedia,IEEE 1541 的成形时间是 2005 年,并且在 2008 年 3 月时重新核定了这一标准。

After a trial period of two years, in 2005, IEEE 1541-2002 was elevated to a full-use standard by the IEEE Standards Association, and was reaffirmed on 27 March 2008.

在此期间,微软发行的操作系统 Windows XP 已如日中天,更改容量单位先不说有没有必要,引起 user confusion 几乎是一定的。

第二,IEEE 1541 的属性只是一个 recommendation(鼓励政策),而不是金科玉律,也不是题主认为的非得执行不可的“规范”(另见下文“又及”部分)。有的国家或地区愿意将 IEEE 1541 采纳为产品及服务标准(比如欧盟,但各个厂商仍然基于自愿决定是否采用),有的国家或地区则可以 discard after noticing.

第三,根据 Wikipedia,IEEE 1541 在开源软件以及科技文献中逐渐被接受,但在其他领域内被接受的苗头依然不旺,尤其是在商业操作系统领域。微软的确是由于商业营销考虑所以才继续沿用原先的容量标注单位。
The IEC binary prefixes (kibi, mebi ...) are gaining acceptance in open source software and in scientific literature. However, elsewhere adoption has been slow, with some operating systems, most notably Windows, continuing to use SI prefixes (kilo, mega ...) for binary multiples, especially for marketing purposes, where they are used almost exclusively.

结论:IEEE 很高兴你与他们站在一边,认同他们为了消除这种容量标注的 confusion 而做出的努力。虽然你一口一个“规范”,但是 IEEE 与你一样,只是这个“鼓励政策”的提出者,无法强制所有商业公司做出相应的改变。而事实上,一旦改变,在相当长的时间内,confusion 可能只会更严重,甚至你自己也会受到影响。

又及:即使是业界“规范”,也并非是每条都有强制约束力的,如同我们生活中遇见的“规章条例”那样,有相当一部分是松弛执行的,而且很多还是在关键领域里。希望题主可以活化思维,以更加柔润的眼光看待这个世界上的各种现象。
题主 @林灿斌 在这个问题下与答主们辩论时,一直高举着IEEE 1541的旗帜,可是IEEE自己好像都没把这个标准当回事啊!!!

我跑到IEEE library上,随便找一篇文章:
IEEE Xplore: Quantum Electronics, IEEE Journal of - (Current Issue)


大家看到了,是4795KB


我下载下来看一下:

4910280/1024=4795!!!


IEEE自己也是把KB当1024B用的啊……┑( ̄Д  ̄)┍