以5和-5作为列子
数据 | 原码 | 反码 | 补码 |
5 | 00000101 | 11111010 | 11111011 |
负数在计算机中没有原码、反码、补码一说
负数在计算集中的表达就是正数的补码
如5为例:
5的原码是:00000101 (表示为1*2的0次方加上0*2的1次方加上1*2的2次方)
5的反码是:对原码的每一位取反:11111010
5的补码是:对原码加1:11111011
-5在计算机中的二进制表达为:11111011
如果想把-5从二进制表达为十进制的话则需要把5的补码(11111011)取反:00000100 再将补码取反(00000100 )加一:00000101 再对00000101取十进制(5)再取反得到(-5)
计算5+(-5)的二进制
00000101+11111011=00000000
计算5+(-6)的二进制
6的原码是:00000110 反码:11111001 补码:11111010
5+(-6)
00000101+11111010=11111111 最高位是符号位1表示负数0表示正数
将负数的二进制表达成十进制 :
11111111 取反00000000 再对取反结果加一 00000001 十进制数为1 再对十进制取反为-1
7+(-6)
00000111+11111010=00000001 最高位是0则表示正数