二进制词头
字节的次方单位 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
在计算领域,二进制词头(IEEE 1541-2002)被用作表示大的数字,采用2的幂而不是用10的幂。所有词头都是1024(210)相乘而不是在国际单位制词头采用的10进制“1000”(103)。尽管有可能混淆,二进制词头经常被写做和发音成和国际单位制词头完全一样,而不是使用下面描述的国际电工委员会(IEC)系统。 历史[编辑]使用前缀“千”(kilo-)、“兆”(mega-)、“吉”(giga-)等,以及缩写符号“k”、“M”、“G”等(参见下表:千的特性),在二进制上领域会引起严重的混淆。 1999年1月,国际电工委员会(IEC)引入了“kibi-”、“mebi-”、“gibi-”等词头以及缩写符号“Ki”、“Mi”、“Gi”等来明确说明二进制乘数计数。[1] 二进制词头已经被很多其他组织采用了,比较著名的有电气电子工程师协会(参见IEEE 1541),欧洲联盟(作为一致性文件HD 60027-2:2003-03[2])。然而,缺少官方支持,二进制词头还没有广泛被制造业者和个人采用,很多人继续在二进制领域使用国际单位制词头。 国际标准[编辑]国际单位制[编辑]
除了“K”以外,一个字母的缩写在国际单位制词头是唯一的,可以与“k”互换(在国际单位制词头里,“K”代表热力学温标,“k”代表1000)。 在精确度不是很重要的上下文中,如文件和内存大小,这些词头被广泛使用,但是和国际单位制词头的定义相冲突。国际单位制词头的名字和值在1960年国际单位制词头标准中制订,是1000的乘幂值。2005年,标准字典不承认这些词头的二进制意义。 国际计量局(维护国际单位制词头的机构)特别禁止二进制的用法,推荐使用IEC词头(二进制词头)作为一种改变方法。[3] 有些人建议“k”代表1000,而“K”代表1024,但是更高的词头不能这样扩展使用并且从来没有被广泛承认过。 尽管从理论上来讲,可以在密码学、数据压缩、数据传输率领域找到用二进制词头表示位或者字节的应用,但是从来没有实际应用过。 非正式的,词头有自己的使用方法。可能听过“一个40K的文件”(40“二进制”千字节)或者“一个2M的因特网连接”(每秒2“十进制”兆比特)。什么单位被使用和乘幂是二进制还是十进制,依赖于上下文并且不能由单位单独确定。 ISO/IEC[编辑]1999年,国际电工委员会(IEC)公布了修正2:“IEC 60027-2:电工技术应用的字母符号—第二部分:通信和电子。”这个标准,在1998年通过,介绍了词头“kibi-”、“mebi-”、“gibi-”、“tebi-”、“pebi-”、“exbi-”,作为二进制乘幂的计数方法。名字的前两个字母来源于原来的国际单位制词头(例如, kilo binary byte缩写为“kibi-Byte”、“kiB”、“kibi-byte”),而后面的“bi”是二进制的缩写。同时明确定义,从IEC的观点来看,国际单位制词头只有十进制的意义而不再用作二进制的意义。 修正在标准的下一版:“IEC 60027-2 (2000-11) Ed. 2.0”。第二版规定最高到“exbi-”,但是在2005年,第三版加入了“zebi-”和“yobi-”这样所有的标准的国际单位制词头都有了他们的二进制计数伙伴。 2008年,ISO/IEC IEC 80000-13:2008标准取消并取代第3.8和3.9的IEC 60027-2:2005(二进制前缀倍数),增加了明确的定义和一些数量[4][5] 。
例如:300 GB ≅ 279.5 GiB(= 0x117.6592E GiB = 0x45D96.4B8 MiB = 0x1176592E KiB = 0x45D964B800 bytes)。 与十进制的比较[编辑]请注意,随着大小增加,百分比差距在十进制和二进制之间变大,从2.4%(千-K)到超过25%(昆-Q),换言之一部以十进制标示为1QB数据储存量的装置,在电脑实际操作时(采用二进制),数据储存量只有不到0.79QB。这也是各制造商坚持使用十进制来标示以二进制为基础的电脑数据的主要原因。
使用方法[编辑]软体[编辑]到2010年,多数软体不再以二进制或十进制来表示位元数值[注 1]。IEC二进制命名转换方法已被少数企业采用,但是并不普遍。IEC引入的明定目标之一就是“保留SI十进制倍数的前置表示,此表示式可以明确清楚表示”[6]。像fdisk/cfdisk,parted还有apt-get等这些软体是以它们专有的SI十进制表示法来显示。
发音[编辑]在英语里面,二进制词头的前面的音节发音和相应的国际单位制词头相同,后一个音节发作"bee"。 计算机内存[编辑]大部分计算机内存,如随机访问存储器、只读存储器和闪存是用二进制表示的。这是关于内存最自然的配置方法,因为连接的地址线有对应的合法地址,这样可以很方便地聚合成更大块的内存。 硬盘[编辑]硬盘制造商用十进制来表示容量。这种用法有很长久的传统,甚至在国际单位制词头在1960年采用前就开始使用了。例如,第一个IBM350的硬盘有5,000,000个6比特字在100个字扇区(如块)组合起来。这出现在国际单位制词头之前。 闪存[编辑]USB闪存是一种记忆卡,一般是用十进制表示,常用2nGB作为容量,如1GB、 2GB、 4GB、 8GB、 16GB、 32GB、 64GB、 128GB、 256GB、 512GB(0.5TB)、 1024GB(1TiB)、 2048GB(2TiB)等。 CD[编辑]CD通常用二进制表示。一个“700MB”(或“80分钟”)的CD的容量大概是700MiB。[7]然而,DVD的容量是用十进制表示的。一个“4.7 GB”的DVD通常的容量是4.38GiB。[8] 总线[编辑]总线带宽是用十进制表示。不是因为硬盘的容量采用了十进制,也不是因为比特率,而是因为时钟速度。如 "PC3200"内存运行在一个双200 MHz总线上,每个时钟周期传送8字节数据,因此带宽是200,000,000×2×8 = 3,200,000,000字节/秒。 争议[编辑]一些现代的电脑用户认为,内存和硬盘都是存储工具,并且希望它们的容量可以用同一种方法度量。操作系统经常用二进制来报告磁盘空间的现状使这种期望加强了。结果是买一个“30 GB”的硬盘会明显少了容量,因为Microsoft Windows不会报告“30 GB”,而是用两种方法来报告硬盘的容量:“30,064,771,072字节”和“28 GB”。这引起了混淆并导致法律纠纷,而有时候由于其他技术原因,如在硬盘文件系统里面错误地分区及考虑格式化和未格式化的容量的时候更糟糕。 注释[编辑]参考文献[编辑]
参见[编辑]外部链接[编辑] |