为什么千字节,兆字节和千兆字节的字节以“字节”命名,而当字节为8位时它们又具有10个以上的位呢?

时间:2018-06-25 08:41:02

标签: byte bits machine-code

我明白了为什么我们在计算中使用后缀“ kilo”来表示数字1024,而不是1000(计算机使用基数2,所以2 ^ 10,等等等等)。所以我得到了公斤部分,但是为什么称它为公斤-“字节”?要生成一个千克(“字节”),我们需要使用从0000000000到1111111111的10位数字。不是8位数字,不应将其称为别的东西。

即一千字节不是1024个8位二进制数字的分组,而是1024个10位二进制数字的分组,一个兆字节甚至具有10个以上的二进制数字-而不是8。如果询问1千字节中有多少位,人们将其计算为1 * 1024 * 8。但这是错误的!应该是1 * 1024 * 10。

1 个答案:

答案 0 :(得分:1)

  

即一千字节不是1024位8位二进制数字的分组,而是   1024组10位二进制数字

您将字节的大小与寻址这些字节所需的值的大小混淆了。

在大多数系统上,byte是8位,这意味着1000个字节正好是1000 * 8位,而2000个字节正好是2000 * 8位(即正好是两倍,这很有意义)。

要寻址或索引这些字节,在第一个示例中需要10位(2 ^ 10 ),在第二个示例中需要11位(2 ^ 11 ),最多2048个字节)。当数据结构中有更多字节时,如果字节的大小发生变化,这没有多大意义。


关于1000(千字节)对1024(kibibyte):

1 kB  (kilobyte) = 10^3 = 1000
1 KiB (kibibyte) = 2^10 = 1024

千字节通常被接受为1024字节。但是在某些时候,硬盘制造商开始将1 kB计为1000个字节( kilo 为1000,这实际上是正确的):

1 GB  = 1000^3 = 1000000000
1 GiB = 1024^3 = 1073741824

Windows仍然使用1 kB = 1024字节来显示硬盘大小,即1GB硬盘空间显示954MB。我记得许多客户在检查时抱怨这一点,例如,他们的250GB驱动器的大小在Windows中仅显示233GB。