-
机器数
一个数在计算机中的二进制表示形式,叫做这个数的机器数。机器数是带符号的,在计算机中用一个数的最高位存放符号,正数最高位为0,负数最高位为1。
-
真值
由于机器数的第一位为符号位,故机器数的形式值就不等于真正的数值。如机器数10000011,其最高位为1,其真正数值为-3,而不是形式值103(10000011转换成十进制为103),所以为了区别起见,将带符号位的机器数对应的真正数值成为机器数的真值。
-
原码
原码就是符号位加上真值得绝对值,即用第一位表示符号,其余为表示值
-
反码
反码:正数的反码是其本身,负数的反码是在其原码的基础上,符号位不变,其余各个为取反。如:
[+]1 = [00000001]原码 = [0000001]反码
[-1] = [10000001] 原码 = [11111110]反码
-
补码
补码:正数的补码是其本身,负数的补码是在反码的基础上加1。 如:
[+1] = [00000001]原 = [00000001]反 = [00000001]补
[-1] = [10000001]原 = [11111110]反 = [11111111]补
正数的原码=反码=补码
注意: -128 的补码是[10000000]
-
位移
>> 向右位移 如:1000右移两位为 10, 即8 >> 2=2 ,故 位移一位即除以2
<< 向左位移,如: 1000 左移两位为 100000,即8 << 2 = 32 故在范围允许的情况下位移一位即乘以2