1G等于1000兆,还是等于1024兆?

科普中国
原创
公众科普,科学传播。
收藏

很多人买电脑后,发现原本标配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”。

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

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

出品:科普中国

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

评论
科普科普知识的摇篮!
太师级
二进制和十进制中的1000兆和1024兆两者大小接近,容易被忽略。学知识、掌握知识,科学运用,让它更好服务我们的生活。
2024-03-09
卜和彦
大学士级
造成这种偏差的原因是硬盘厂家计算方法和电脑计算方法不一致造成的。在正规厂家购买的都是合格产品,不用担心硬盘“缩水〞!
2024-03-09
金钱草.
庶吉士级
1G到底是1000兆,还是1024兆,关键看是十进制还是二进制。在十进制中,1GB=1000MB,即1G等于1000兆;而在二进制中,1GiB=1024MiB,即1G等于1024兆。
2024-03-09