原码
(负数的原码,直接把对应正数的最高位改为1)
原码能够直观的表示一个负数(能直观的把真值显示出来,如 -1为1000 0001其中最高位表示符号位,不进行算术计算)
反码
把原码除第一位按位取反,即1—>0、0—>1
补码
是为了让负数变成能够加的正数,所以,负数的补码=模-负数的绝对值。比如:-1 补码:1111 1111(0000 0001,也就是-1的绝对值,取反加1得来)
当一个数要减1的时候,可以直接加 1111 1111
反码和补码之间转换:补码= 反码+1
例如求-12的补码:
先求原码得:-12(10) = 10001100(2)
再按位取反求反码得:11110011
接着+1得补码:11110011+1=11110100