cocoboy027 发表于 2013-12-19 12:18:54

计算机地址从0开始,我的观点

为什么从0开始,我认为应该这样去理解:

首先,这个0不是我们通常意义上的数字0,这个0表示的是一种状态,计算机中都是数字电路,只有0和1这两种状态,因此地址的划分就是通过不同的0 1 组合来区别的。比如说3位数的地址可以表示2^3(2的3次方)个地址:

即为 000, 001, 010, 011, 100, 101, 110, 111 这就是8个不同的地址。
地址编号中每一位有两种状态,一共有3个位,那么就是2^3种不同的排列。

再看看我们实际的电脑,地址编号一共是32个数位,每一位可以有两种状态,那么就是2^32种不同的排列,也就是说他可以区分的内存单元有2^32个,一个内存单元是1b,那么2^10(1024)个内存单元就是我们平常说讲的1KB,那么2^20就是1MB,2^30就是1G,2^32 = (2^2) * (2^30)就是4G,我们的内存就是这么算出来的。

如果地址不从0开始(就是32位均为0的情况) ,那么我们的电脑内存就不好计算了,因为总是差1,KB,MB,G这些单位也就没有意义了。比如说1KB是1024个内存单元,如果不从0开始,那么实际上只有1023个内存单元,如果因此把1KB改为1023个单元,并以此类推MB和G的话(即 1G = 1023*1023MB = 1023*1023*1023KB),经过乘法运算后,就会出现差错。
比如20位的内存,如果不从0开始,就表示2^20-1个单元,但很显然1MB = 1023 *1023 KB,并不是2^20-1个单元。此时差错就出现了,所以计算机地址必须从0开始。

注意:我们通常所说的32位,64位电脑,指的不是地址的位数,而是数据总线。

霸气外露 发表于 2013-12-19 20:11:38

没懂,理解有点难。

夜殇 发表于 2013-12-23 19:31:46

计算机之所以从零开始计数
是因为数学计数就是从零开始的
如:前十位正整数就是 0-9
不知道你怎么解释得这么复杂

sokou001 发表于 2013-12-28 20:51:50

为什么物质是从虚无中产生的 所以0是一种状 态嘎嘎嘎
页: [1]
查看完整版本: 计算机地址从0开始,我的观点