【问题标题】:Units os measure as powers of 2计量单位为 2 的幂
【发布时间】:2016-06-11 05:39:09
【问题描述】:
为什么在计算机科学中我们使用 2 的幂作为数据量的度量单位?
例如,1 个字节是 2^3 位。这是约定俗成还是其他原因?
而且,一旦我们有了字节,为什么我们认为 1 兆字节 = 2^20 而不是 10^6?
有人说这是为了方便,因为计算机采用二进制表示。但这并不能回答问题。是的,计算机使用比特。但是,我们可以构建任意容量的处理器寄存器(例如,20 位,不是 2 的幂)。
这只是一个约定还是有其他原因?
【问题讨论】:
标签:
binary
byte
computer-science
theory
bit
【解决方案1】:
考虑如何使用电子存储器。
为了寻址特定的内存块(例如字节),数字地址线设置为 1 和 0 的模式以指示所需的地址。一家制造商使用我们知道的二进制文件,另一家使用BCD,四行表示地址 0-9。为了访问该数据,一个系统使用2^20 字节和20 条地址线。另一个系统有10^6字节和24个地址行。
最会选择什么系统?需要20线还是24线的内存芯片?
鉴于已经采用了许多方法,市场选择了密度而不是小数和其他替代方法。对于许多计算机算法和架构来说,二进制是非常自然的。十进制对人类很有用。