本文章大约 1662 字,预计阅读时间:6 分钟
注意:本文最后更新于 2024年4月14日,已超过60天没有更新,文章内容可能已失效,请自行测试!

Byte与bit

首先,在计算机科学中,“位”(bit)和“字节”(byte)是衡量数字信息的基本单位。

  • 位(bit):是二进制数字的最小单位,代表一个二进制位,可以是0或1。位是计算机处理和存储信息的基础,众所周知,计算机内部的所有数据和指令都是以二进制形式表示的。
  • 字节(byte):通常由8个位(bit)组成。字节是计算机中数据处理的基本单位之一,常用于表示字符(如字母、数字和符号)等信息。例如,一个ASCII编码的英文字符(比如字母A或数字3)通常用一个字节来表示。
  • 综上,我们可以知道:1 byte = 8 bit

 

当我们谈论它们时,为了方便区分,我们常常用"b"和"B"来分别代表位和字节

  • 小写的"b"代表"bit"
  • 大写的"B"代表"Byte"
  • 例如:当你在下载某文件,可以看到网速为"100 Mbps"时,"Mbps"就代表"megabits per second"(每秒兆位),这里的"b"是小写,指的是位。而当你查看下载的文件大小或存储空间时,如"4 GB","GB"代表"gigabytes"(吉字节),这里的"B"是大写,指的是字节。

看到这里,你已经知道这两个的不同之处了。在日常生活中,我们常说的千兆宽带之类就说明其带宽理论上能达到1000Mbps,换算成字节的单位就是1000/8=125MBps,因为1字节(Byte)等于8位(bit)

另一个疑问?

你是否还有一个疑问——那就是为什么U盘或硬盘这一类标注容量与实际容量不一致,甚至实际容量要比标注容量要小呢?偷工减料?

实际上,导致这个问题的主要原因是制造商和操作系统采用不同的计量单位以及文件系统的开销。

计量单位的差异

首先我们要了解,在计算机科学和技术的早期发展中,二进制系统因其简单和适应性而成为基础。计算机使用二进制(0和1)进行所有的计算和数据存储。在这个体系中,最接近1000的二进制幂是1024(即2^10)。因此,早期的计算机专家和工程师开始用1024(而不是1000)来近似表示“千”,以便于在二进制系统中表示和计算存储容量。而与此同时,十进制是人类日常生活和大多数非计算机科学领域中使用的标准计数系统。十进制基于10的幂,就比如1千克= 1000克,1千米= 1000米等等。

随着技术的普及和消费电子产品的爆炸式增长,存储设备制造商开始寻找简化和标准化产品规格的方法,以便于消费者理解。于是就开始使用十进制表示法,即将1GB定义为10^9字节,不仅与日常生活中的计数方法一致,而且看起来数字更大,从市场营销的角度来看,那就会吸引很多顾客来买了,毕竟谁不都想买大容量的呢。

为了解决十进制和二进制表示法之间的混淆,国际电工委员会(IEC)在1998年引入了新的二进制前缀,如Mebi(Mi,2^20)、Gibi(Gi,2^30)等(例如1 KiB = 1024 bytes),用以区分二进制和十进制的计量单位。然而,这些新单位的接受和使用并不一致,特别是在消费产品的营销和标签中。这也就导致了更多的乱象。

  • 例如,当制造商使用十进制计数法标注U盘为“128GB”时,他们指的是128,000,000,000字节。但是,通过前面我们可以得知,操作系统是使用二进制计数法的,将这些字节转换为二进制千兆字节(GiB),系统又将1GiB简称为GB,于是乎增加了混淆。就会导致显示的容量看起来较小。

文件系统的开销以及预留空间等

U盘都会有一个文件系统(如FAT32、exFAT、NTFS等),以便操作系统可以在其上读写数据。这个文件系统本身需要一些空间来存储目录信息、文件分配表等元数据。这就意味着U盘的一部分存储空间会被文件系统本身占用,而不可用于数据存储。且在某些情况下,U盘或其文件系统可能还会预留一些空间用于特殊用途。这些都会导致我们提到的U盘或硬盘这一类标注容量与实际容量不一致。

 

 

 

 

 

参考: