二进制乘数词头
维基百科,自由的百科全书
在计算领域,二进制乘数词头(IEEE 1541)被用作表示大的数字,采用2的乘幂而不是用10的乘幂。所有乘数词头都是1024(210)相乘而不是在国际单位制词头采用的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])。然而,缺少官方支持,二进制乘数词头还没有被广泛被制造业者和个人采用,很多人继续在二进制领域使用国际单位制词头。
[编辑] 二进制乘数词头采用国际单位制词头符号
名称 | 符号 | 值 | 16进制 | 10进制 |
---|---|---|---|---|
kilo | k/K | 210 = 1,024 | = 162.5 | > 103 |
mega | M | 220 = 1,048,576 | = 165 | > 106 |
giga | G | 230 = 1,073,741,824 | = 167.5 | > 109 |
tera | T | 240 = 1,099,511,627,776 | = 1610 | > 1012 |
peta | P | 250 = 1,125,899,906,842,624 | = 1612.5 | > 1015 |
exa | E | 260 = 1,152,921,504,606,846,976 | = 1615 | > 1018 |
zetta | Z | 270 = 1,180,591,620,717,411,303,424 | = 1617.5 | > 1021 |
yotta | Y | 280 = 1,208,925,819,614,629,174,706,176 | = 1620 | > 1024 |
除了「K」以外,一个字母的缩写在国际单位制词头是唯一的,可以与「k」互换(在国际单位制词头里,「K」代表热力学温标,「k」代表1000)。
在精确度不是很重要的上下文中,如文件和内存大小,这些词头被广泛使用,但是和国际单位制词头的定义相冲突。国际单位制词头的名字和值在1960年国际单位制词头标准中制订,是1000的乘幂值。2005年,标准字典不承认这些词头的二进制意义。
BIPM(维护国际单位制词头的机构)特别禁止二进制的用法,推荐使用IEC词头(二进制乘数词头)作为一种改变方法。[3]
有些人建议「k」代表1000,而「K」代表1024,但是更高的词头不能这样扩展使用并且从来没有被广泛承认过。
尽管从理论上来讲,可以在密码学,数据压缩,数据传输率领域找到用二进制乘数词头表示位或者字节的应用,但是从来没有实际应用过。
非正式的,词头有自己的使用方法。可能听过「一个40K的文件」(40「二进制」千字节)或者「一个2M的因特网连接」(每秒2「十进制」兆比特)。什么单位被使用和乘幂是二进制还是十进制,依赖于上下文并且不能由单位单独确定。
[编辑] 二进制乘数词头(IEC标准词头)
1999年,国际电工委员会(IEC)公布了修正2:「IEC 60027-2:电工技术应用的字母符号 — 第二部分:通信和电子。」这个标准,在1998年通过,介绍了词头「kibi-」、「mebi-」、「gibi-」、「tebi-」、「pebi-」、「exbi-」,作为二进制乘幂的计数方法。名字的前两个字母来源于原来的国际单位制词头,而后面的「bi」是二进制的缩写。同时明确定义,从IEC的观点来看,国际单位制词头只有十进制的意义而不再用作二进制的意义。
修正在标准的下一版:「IEC 60027-2 (2000-11) Ed. 2.0」
第二版规定最高到「exbi-」,但是在2005年,第三版加入了「zebi-」和「yobi-」这样所有的标准的国际单位制词头都有了他们的二进制计数伙伴。
名称 | 符号 | 2进制 | 16进制 | 10进制 | ||
---|---|---|---|---|---|---|
kibi | Ki | 210 | 162.5 | 0x400 | = 1,024 | > 103 |
mebi | Mi | 220 | 165 | 0x10 0000 | = 1,048,576 | > 106 |
gibi | Gi | 230 | 167.5 | 0x4000 0000 | = 1,073,741,824 | > 109 |
tebi | Ti | 240 | 1610 | 0x100 0000 0000 | = 1,099,511,627,776 | > 1012 |
pebi | Pi | 250 | 1612.5 | 0x4 0000 0000 0000 | = 1,125,899,906,842,624 | > 1015 |
exbi | Ei | 260 | 1615 | 0x1000 0000 0000 0000 | = 1,152,921,504,606,846,976 | > 1018 |
zebi | Zi | 270 | 1617.5 | 0x40 0000 0000 0000 0000 | = 1,180,591,620,717,411,303,424 | > 1021 |
yobi | Yi | 280 | 1620 | 0x1 0000 0000 0000 0000 0000 | = 1,208,925,819,614,629,174,706,176 | > 1024 |
例如: 300 GB ≅ 279.5 GiB (= 0x117.6592E GiB = 0x45D96.4B8 MiB = 0x1176592E KiB = 0x45D964B800 bytes).
[编辑] 二进制和10进制词头大约比率
注意,随着大小增加,百分比差距在十进制和二进制之间变大,从2.4% (千-K) to over 20% (幺-yotta ).
名称 | Bin ÷ Dec | Dec ÷ Bin | 举例 | 百分比 |
---|---|---|---|---|
kilobyte : kibibyte | 1.024 | 0.976 | 100 kB ≅ 97.6 KiB | +2.4% or −2.3% |
megabyte : mebibyte | 1.049 | 0.954 | 100 MB ≅ 95.4 MiB | +4.9% or −4.6% |
gigabyte : gibibyte | 1.074 | 0.931 | 100 GB ≅ 93.1 GiB | +7.4% or −6.9% |
terabyte : tebibyte | 1.100 | 0.909 | 100 TB ≅ 90.9 TiB | +10% or −9.1% |
petabyte : pebibyte | 1.126 | 0.888 | 100 PB ≅ 88.8 PiB | +12.6% or −11.2% |
exabyte : exbibyte | 1.153 | 0.867 | 100 EB ≅ 86.7 EiB | +15.3% or −13.3% |
zettabyte : zebibyte | 1.181 | 0.847 | 100 ZB ≅ 84.7 ZiB | +18.1% or −15.3% |
yottabyte : yobibyte | 1.209 | 0.827 | 100 YB ≅ 82.7 YiB | +20.9% or −17.3% |
[编辑] 用户困惑
一些现代的电脑用户认为,内存和硬盘都是存储工具,并且希望它们的容量可以用同一种方法度量。操作系统经常用二进制来报告磁盘空间的现状使这种期望加强了。结果是买一个「30 GB」的硬盘会有明显的容量的遗失,因为Microsoft Windows,不会报告「30 GB」,而是用两种方法来报告硬盘的容量:「30,064,771,072」和「28 GB」。这引起了混淆并导致法律纠纷,而有时候由与其它技术原因,如在硬盘文件系统里面错误地区分个格式化和未格式化的容量的时候更糟糕。
[编辑] 使用方法
[编辑] 发音
在英语里面,二进制乘数词头的前面的音节发音和相应的国际单位制词头相同,后一个音节发作"bee"。
[编辑] 计算机内存
大部分计算机内存,如随机存取存储器(RAM),只读存储器(ROM)和闪存(Flash)是用二进制表示的。这是关于内存最自然的配置方法,因为连接的地址线有对应的合法地址,这样可以很方便地聚合成更大块的内存。
[编辑] 硬盘
硬盘 制造商用十进制来表示容量。这种用法有很长的传统,甚至在国际单位制词头在1960年采用前就开始使用了,如下:
第一个IBM350的硬盘有 5,000,000个 6比特字在100个字扇区 (如块)组合起来。这出现在国际单位制词头之前。
[编辑] 闪存
USB闪存是一种记忆卡,一般是用是十进制兆字节表示,如32MB, 64MB, 128MB, 256MB, 512MB。
[编辑] CD
CD 通常用二进制表示。一个「700MB」(或「80分钟」)的CD的容量大概是700MiB。[4] 然而,DVD的容量是用十进制表示的。一个「4.7 GB」的DVD通常的容量是4.38GiB。[5]
[编辑] 总线
总线带宽是用十进制表示。不是因为硬盘的容量采用了十进制,也不是因为比特率,而是因为时钟速度。 如 "PC3200" 内存运行在一个双200 MHz总线上,每个时钟周期传送8字节数据,因此带宽是200,000,000×2×8 = 3,200,000,000 字节/秒。
[编辑] 参见
[编辑] 参考
- ↑ Amendment 2 to IEC International Standard IEC 60027-2: Letter symbols to be used in electrical technology — Part 2: Telecommunications and electronics [1]
- ↑ HD 60027-2:2003 Information about the harmonization document (obtainable on order)
- ↑ The International System of Units, 8th edition, 2006 — Side note in section 3.1 — SI prefixes
- ↑ Data capacity of CDs
- ↑ Understanding Recordable and Rewritable DVD