1.机器数
一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号,正数为0,负数为1.
比如,十进制中的数+3,计算机字长为8位,转换成二进制就是0000 0011。如果是 -3,就是1000 0011.
那么,这里的0000 0011和1000 0011就是机器数。
2.真值
因为第一位是符号位,所以机器数的形式值就不等于真正的数值。例如上面的有符号数1000 0011,其最高位1代表负,其真正数值是 -3而不是形式值131(1000 0011转换成十进制等于131)。所以,为区别起见,将带符号位的机器数对应的真正数值成为机器数的真值。
例:0000 0001的真值= +000 0001=+1,1000 0001的真值= -000 0001= -1
3.原码
原码是符号位加上真值的绝对值,即用第一位表示符号。其余位表示值。比如如果是8位二进制:
[+1]原=0000 0001
[-1]原=1000 0001
第一位是符号位,余下7位是数值位。因为第一位是符号位。所以8位二进制数的取值范围就是:
[1111 1111,0111 1111]
即
[-127,127]
原码是人脑最容易理解和计算的表示方式。