这与计算机通过硬件对数据存储的机制有关。
人们都说,计算机实际上很傻,他连2都不认识。只知道0和1.
存储元件,通电即为1,不通电即为0.
那么一个存储元件能表达多少种状态呢?很显然就是0和1两种状态。
如果两个存储元件排在一起,那能表达多少种状态呢?我们可以通过控制开关,实现00,01,10,11,四种状态。也就是2的2次方。
当我们有三个存储元件排在一起,那就是000,001,010,011,100,101,110,111这样8种状态,也就是2的3次方。
以此类推:
N个存储元件排列在一起,就可以表达2的N次方个状态。
如果对每一个状态从0开始编号。那么就可以说,表达了0到2的N次方-1个整数了。
按照数学的方式来表达一个公式的话。那么任意的二进制数排列在一起,表达一个十进制整数的公示就变成:
二进制各位从低到高(从右至左)依次乘以2的N次方,其中,N从0开始。
例如: = 12
这就是整数的表达方法。
这里其实蕴含着背后的一个机理,那就是整数是离散的数,1,2,3,4,5。。。。。。,是固定的离散数,计算机都可以通过状态的排列叠加来准确的表达出来。
当然,整数还分为有符号整数(也就是带正负号)和无符号整数两部分。上面讲解的方法都是无符号数的表达方法。有符号数在存储的时候,最前面的一位(一个bit),要腾出来作为一个符号位,1表示负数,0表示正数。
学会了就点个赞吧。:)