机器数
一个数在计算机内部的表示称为机器数。
机器数的最高位为符号位,符号位为0表示正数,符号位为1表示负数。
机器数可以有多种不同的编码表示方法,常见的编码方式有:原码、反码
和补码
反码
如果机器数为正数,则该机器数的反码和原码相同。
如果机器数为负数,则其反码是对原码除符号位以外的所有数位取反。
反码本身没有实际用途,它只是求补码的中间流程,补码在计算机中用来储存数据。
补码
机器数的补码可以由原码得到,如果机器数是正数,则该机器数的补码、反码、
原码均相同。
如果机器数是负数,则该机器数的补码:符号位不变,其余位将其反码数值加1
得到(0除外)。
移码
不管正负数,只要将其补码的符号位取反即可。
总结
即 原码 正数=反码=补码
负数——>符号位不变,其余位取反(反码)——>符号位不变,其余位是反码的
其余位加1(补码)
举例
数值 1 -1 1+(-1)
原码 0000 0001 1000 0001 1000 0010
反码 0000 0001 1111 1110 1111 1111
补码 0000 0001 1111 1111 0000 0000
移码 1000 0001 0111 1111 0000 0000