原因分为以下两点:一、从数的表示(进制数)来看;二、从计算机硬件的角度来看。计算机内存地址是由无符号二进制数来表示的。设用4位无符号二进制来表示地址,则有2的4方 16种地址 0000-1111 既0到15。
一、从数的表示(进制数)来看
计算机内存地址是由无符号二进制数来表示的。设用4位无符号二进制来表示地址,则有2的4方 16种地址 0000-1111 既0到15,因为4位二进制数只能表示0-15而不能表示16因此,因此内存单元的数组(地址表示)是从0开始的。上层(编程语言)为了符合底层,采用了相应的从0开始。为什么计算机地址采用二进制呢?
二、从计算机硬件的角度来看
计算机内存的寻址范围是由地址线决定的,而在硬件上每个地址线的电气特性被划分成了两种状态0和1符合二进制。设有四根地址线,把每根地址线对应一位二进制从而形成了0000-1111 16种状态 既转为十进制为0-15。
延伸阅读:
什么是进制?
进制也就是进位计数制,是人为定义的带进位的计数方法(有不带进位的计数方法,比如原始的结绳计数法,唱票时常用的“正”字计数法,以及类似的tally mark计数)。 对于任何一种进制---X进制,就表示每一位上的数运算时都是逢X进一位。 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位。
文章标题:为什么计算机从0开始计数,而不是从1开始,发布者:Flawy,转载请注明出处:https://worktile.com/kb/p/52961