欢迎访问科技网!

您当前的位置: 首页 > 科技新闻

超级光盘的1G等于1000兆,还是等于1024兆?一文说清楚

发布时间:2024-03-09 09:47:46 来源:科普中国 字号: [ 大 ] [ 中 ] [ 小 ]

很多人买电脑后,发现原本标配256G的硬盘,电脑显示只有238G,足足“缩水”了18G的储存空间。每当遇到这种情况,一些网友就会认为这是商家虚标,顿生郁闷。

但事实真是这样吗?并不是。

因为储存空间“缩水”类似现象并非只发生在你刚刚买来的电脑上,也发生在你将手机里的一个文件传输到你的电脑上时,更可能发生在两种不同系统的电脑间传文件时……

下面,笔者就做一个小实验,将手机里的一个视频传到电脑上,看看其大小会有怎样的变化。

图片1.png

图为笔者要上传的一个视频。(来源:作者自制)

图片2.png

该视频在手机文件里显示的大小为28MB,也就是28兆。(来源:作者自制)

下面,我们来看看这个视频在电脑上显示的大小,如下:

图片3.png

图片4.png

如上图显示,一个在手机里显示为28兆的视频,上传Windows电脑后,其显示只有26.6MB,即26.6兆。(来源:作者自制)

手机里显示是28兆,这是因为手机系统的“十进制”,而上传到Windows电脑后,电脑是以“二进制”来统计视频的大小,因而也就有了差别。

使用二进制的原因

核心原因是,计算机在计算和存储时,主要处理的是二进制数据。这就导致计算机存储器的容量通常是一些大幂的倍数,例如:

一个内存条,其内存容量为268435456 字节。

“268435456”这个数字使用的是“十进制”,看上去极为复杂。但如果使用2的幂来表示就十分简洁了,如下:

微信图片_20240308104508.png=268435456

微信图片_20240308104508.png极为简洁,其在二进制算法中,微信图片_20240308104508.png 字节就等于256兆。

而在十进制算法中,268435456字节等于268.435456兆。

说到这里,有网友可能会产生疑问:2的幂跟二进制有什么关系呢?关系如下:

图片5.png

图片来自作者自制。

请仔细看,对于二进制来说,2的幂极为有规律,规律就是:

指数是多少,二进制中“1”后面就跟多少个“0”。

例如:

2的0次方,二进制中,1后面就没有“0”。

2的10次方,二进制中,1后面就跟10个“0”。

同理可知:

2的128次方,二进制中,1后面就跟128个“0”。

……

不难发现,2的幂表现出来的这种规律,是不是就跟“十进制”中,10的幂表现出来的规律是一样一样的?没错。

图片6.png

图片来自作者自制。

以上两个表格说明了,在二进制中,2的幂,它类似于十进制中,10的幂。

图片7.png

图片来自作者自制。

继续观察2的幂所对应的“十进制”数字,大家应该就能明白了,为什么电脑内存常常是4G、8G、16G等等,而很少出现10G内存或者15G内存。

从十进制的角度看,显然10比8好,15比16好。

还有,硬盘空间,比如你的手机存储容量,也常常是64G、128G、256G。奇怪了,为什么就不能是50G、100G和150G?

现在,你应该知道答案了。前者恰好对应了2的幂。

两者的区别

对于计算机来说,使用2的幂来衡量存储空间的大小是最合适的。

然而,计算机又是为人类服务的,而人类恰好10根手指,使用十进制最舒服。使用其他进制简直就是货真价实的“反人类”,十分的不好口算。

1G等于1000兆,17G就是1.7万兆。这多好口算,对吧。

但如果使用二进制,你真的能瞬间算出17G就是等于1.7408万兆吗?

最后,硬盘厂商如果使用十进制来标注硬盘大小的话,硬盘会显得大一些,也更方便一些。因此,市面上的很多硬盘,他们的大小计量方式,大都是按照“十进制”来的。

目前,衡量存储空间或计量文件的大小仍比较混乱,因为两种进制都在用。为了不乱,1999年,国际电工委员会(IEC)公布了一些标准:

主要内容就是,信息大小的计量单位,十进制中没变,如下:

千字节,简写为kB,英文全称kilobyte。

兆字节,简写为MB,英文全称megabyte。

吉字节,简写为GB,英文全称gigabyte。

太字节,简写为TB,英文全称terabyte。

拍字节,简写为PB,英文全称petabyte。

……

而如果使用二进制计量信息大小时,是这样的:

千字节,简写为kiB,英文全称kibibyte。

兆字节,简写为MiB,英文全称mebibyte。

吉字节,简写为GiB,英文全称gibibyte。

太字节,简写为TiB,英文全称tebibyte。

拍字节,简写为PiB,英文全称pebibyte。

……

如果你以后在论文中看到类似PiB,或者pebibyte这样的表述时,那就可以说明,论文作者是使用二进制方式来计量信息容量的大小。

很多人说:1G不是等于1000兆,而是等于1024兆。那么现在,我们再来看看这个疑问应该怎么解答呢?

显然,正确答案应该是:在10进制中,1GB就是等于1000MB(即1G等于1000兆),这没有错。

图片8.png

图片来自《nature》上的论文截图。

举个例子,最近火出圈的超级光盘,在讨论其内容的研究论文中,可以看到,作者使用的不是pebibit或pebibyte,并非二进制算法。而作者使用的是petabit,是十进制算法。因此,这里的1G应为1000兆,而非1024兆。

综上,1G既可以是1000兆,也可以是1024兆关键看是十进制还是二进制。在十进制中,1GB=1000MB,即1G等于1000兆;而在二进制中,1GiB=1024MiB,即1G等于1024兆。

由于很多人,甚至是一些大公司,由于历史原因,他们不习惯于使用诸如“GiB” “MiB”等这样的标准单位,而是直接简写为“GB”和“MB”,然后就引发了更多的混乱,继而导致无数人以为1GB就是等于1024MB。

换句话说,“混乱”本来是可以不存在的,但由于历史原因,单位简写习惯的原因,以及二进制和十进制中的1000兆和1024兆两者大小接近,容易被忽略的原因,这才导致了混乱。

下面一起来看看,我们以字节,也就是“B”为基础单位,使用“十进制”和“二进制”时,两者的容量差别,如下:

图片9.png

图片来自作者自制。

从上图可知,存储单位越大,两种计量方式的差别越大。这就是为什么,很多人买电脑后,发现硬盘容量“缩水”的原因。

图片10.png

图片自来作者自制。

微软的电脑系统是按照“二进制”来计量存储空间大小的,因此,一张手机照片上传到微软系统电脑后,照片在容量上会变小。

然而,需要注意的是,虽然微软电脑系统是使用“二进制”算法,但他们并没有使用诸如“GiB”或者“TiB”这样的标准单位。而是直接显示“GB”或者“TB”。

作者:寒木钓萌 科普作家、科技部“全国优秀科普作品奖”获得者

审核:兰名荥 北京邮电大学数字媒体与设计艺术学院副教授

出品:科普中国

监制:中国科学技术出版社有限公司、中科数创(北京)数字传媒有限公司

【免责声明】本文转载自网络,与科技网无关。科技网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。