千字节/兆字节/太字节的表示方式

问题描述 投票:0回答:4

我对不同字节单位的表示有点困惑。

1 字节 = 8 位是公认的。

但是,在很多来源中我都看到了

1 千字节 = 2^10 字节 = 1024 字节

并且

1 千字节 = 1000 字节

这不是矛盾吗,因为在这两种情况下都规定 1 字节是 8 位...?

不同的来源对这些不同的表示提出了不同的原因,因此我不确定这种相当令人困惑的表示差异的最重要/真正的原因是什么。

有人可以解释和澄清吗?

numbers byte prefix measurement
4个回答
8
投票

大家普遍认为 1 字节 = 8 位

但是,在很多来源中我都看到了

1 千字节 = 2^ 10 字节 = 1024 字节

并且

1 千字节 = 1000 字节

为了确保我们都清楚,您的问题是“1 KB 等于 1024 字节还是 1000 字节?”。

这不是矛盾吗,因为在这两种情况下都规定 1 字节是 8 位...?

这与问题无关。

那么,让我们开始吧。在SI(公制)中,1000的乘数称为kilo,缩写为k。 k always 表示 1000,绝无其他。

当二进制计算机进入世界时,我们注意到2的10次方是1024,这很方便地接近1000。计算机工程师决定滥用这个巧合,并说kilo意味着1024。推而广之,他们说mega意味着1024 2(而不是 10002 的正确定义),依此类推,有 giga、tera 等。

虽然对于许多用途来说 1000 和 1024 之间的差异很小,但有时需要准确的答案,而这就是滥用术语伤害每个人的地方。直到 kilo=1024 成立几十年后,才有人真正尝试解决这个问题。 IEC 提议了二进制乘法器的新前缀:1024 = kibi、10242 = mebi、10243 = gibi 等

总之,kilo=1024 的概念是对 kilo=1000 的一致 SI 定义的滥用。虽然 kilo=1024 在计算机行业很流行,但它仍然是错误的,应该替换为 kibi=1024。或者需要重新计算数字以反映千/兆/等的真实定义。 (例如,“512 MB”的 RAM 实际上约为 536.9 MB。)

顺便说一句,不要使用随机大小写;它的拼写是千字节,而不是千字节。

参考文献和链接:


0
投票

当你谈论计算机科学中的数据信息时,你总是要通过2的幂来计算结果。看看维基百科怎么说:

“在计算中,二进制前缀是 说明符或助记符 前置到数字单位 信息,位和字节,以 表示乘以 2. 实际上,使用的幂是 10 的倍数,因此前缀 表示 1024 = 2^10 的幂。”

有时人们会像你提到的那样将其四舍五入,但这是一种不好的使用。


0
投票

讨论得很好!现在,如何让国家和国际标准机构就代表实际事实的单一标准达成一致


-1
投票

如果你问 1 KB 等于 1024 还是 1000 字节,我不明白字节到位有什么关系。这些测量并不是一成不变的,而且根本不受真正控制。计算机制造商可以(并且已经)使用 1000 转换来使其看起来拥有更多内存。

当考虑二进制(基数 2)或基数 10 时,就会出现问题。基数 10 您会使用 1000、基数 2、1024。

© www.soinside.com 2019 - 2024. All rights reserved.