2016-02-28 25 views
0

为什么在计算机科学中,我们使用2的幂作为数据量的度量单位?例如,1个字节是2^3个比特。这是按惯例还是由于其他原因建立的?单位os的权值为2

而且,一旦我们有了字节,为什么我们要考虑1兆字节= 2^20而不是10^6呢?

有人说这是一个方便的问题,因为电脑采用二进制表示。但是这并不能回答这个问题。是的,电脑使用位。但是,我们可以构建任意容量的处理器寄存器(例如,20位,这不是2的幂)。

这只是一个约定还是有另一个原因呢?

+0

可能的重复[为什么总是比特数是(?)是2的幂](http://stackoverflow.com/questions/1606827/why-is-number-of-bits-always-a-power -of-two) – ardhitama

+0

[为什么所有数据类型都是2的乘方?](https://stackoverflow.com/questions/5191833/why-are-all-datatypes-a-power-of-2) –

回答

0

考虑如何使用电子记忆。为了寻址存储器的特定块(例如字节),数字地址线被设置为1和0的模式以指示期望的地址。一个制造商使用我们知道的二进制文件,另一个使用BCD,四行代表地址0-9。要访问该数据,一个系统使用2^20字节和20个地址行。另一个系统有10^6字节和24个地址线。

哪种系统最适合选择?需要20线或24芯片的存储芯片?

鉴于许多方法已被采取,市场选择密度超过小数和其他选择。二进制是很自然的许多计算机算法和体系结构。十进制对人类很有用。