admin 管理员组文章数量: 887007
转换关系计算机字节,你真的知道字节的换算单位关系么?
学计算机编程的都知道字节(byte)和位(bit)的概念,但是对于KB、kB、MB、MiB他们的之间的关系你真的懂么?你确信你没有搞错?
我们都知道
1 byte = 8 bits (1字节 = 8比特)
但是你知道1KB = ?B , 1kB = ?B么?KiB又是什么吗?
在此,我先列一个表格,看看里面的信息。
这里面列出了很多的单位,但是因为这些不同的单位给我们带来了许多的困挠。
硬盘容量缩水现象
对于容量的概念,有十进制和二进制两种计量方法。最常见的是硬盘、内存容量“缩水”的情况。对于计算机来说1M = 1024KB,但是厂家为了方便计算与生产,是以1M = 1000K字节计算容量,但是计算机主板、操作系统是按1024的关系来计算的。于是就出现了500G的硬盘,在实际电脑上显示才465G的情况。以下是计算公式:
500G
= 500 × 1000 MB
= 500 × 1000 × 1000 kB
= 500 × 1000 × 1000 × 1000 B
= 500 × 109 B
= 500 × 109 / 10243 GiB
= 465 GiB
历史情况
出现这样的问题是有原因的。以前大多数情况下,工业界喜欢使用和国际单位制(International System of Units , 缩写SI)定义的kilo, mega, giga等前缀保持一致,他们都是1000进制的关系。但是在计算机界中,都是以2进制定义数据和信息的,许多的计算都是1024的关系。两者的不一致给人们造成了许多的困挠。
1998年12月,在电工技术领先的国际组织——国际电工委员会(International Electrotechnical Commission,IEC)制定了规范,使用新的一系列二进制乘数词头(binary prefixes)来无歧义地表示1024底数,他们有kibi、mebi、mebi、tebi、pebi、exbi,可以参考上面的表格。
此外,美国国家标准技术研究所(National Institute of Standards and Technology, NIST )规定的国际单位制前缀只能在十进制意义上使用,这个和SI是一致的:
kilobyte 表示 1,000 bytes
megabyte 表示 1,000,000 bytes
二进制上使用新的术语
kibibyte (缩写 KiB) 表示 1024 bytes
mebibyte (缩写 MiB) 表示 1,048,576 bytes
gibibyte (缩写 GiB) 表示 1,073,741,824 bytes
…
具体的数据可以参考上面的表格。
现在的使用情况
可以看到现在在做宣传的时候,硬盘、U盘上的数据都是使用MB、GB来表示1000的进制关系。但是在windows系统中,使用MB、GB等来表示1024的进制关系。就比如4GB的优盘,在windows上显示为3.8GB的容量。
在Linux系统中,已经开始使用KiB、MiB等由IEC制定的二进制前缀来表示数据了。还有一些其他的程序也开始使用IEC的标准。
建议
推荐大家使用IEC制定的标准来表示2进制前缀,避免不必要的麻烦。使用的场景可以是程序,论文,科普文章等地方。不要为了省事,引起歧义。
IEC的制定的二进制前缀缩写有KiB、 MiB 、GiB 、TiB 、PiB 、EiB 、ZiB 、YiB 。希望大家多多使用。
参考资料
Binary prefix
Prefixes for binary multiples .html
本文标签: 转换关系计算机字节 你真的知道字节的换算单位关系么
版权声明:本文标题:转换关系计算机字节,你真的知道字节的换算单位关系么? 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732350843h1533003.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论