整数(十进制) | 正整数 | 负整数 |
原码(二进制) | 原码 | 原码 |
反码(二进制) | 原码 | 符号位不变,其它位取反 |
补码(二进制) | 原码 | 反码加一 |
例子
整数(十进制) | 2 | -2 |
原码 | 0 0000010 | 1 0000010 |
反码 | 0 0000010 | 1 1111101 |
补码 | 0 0000010 | 1 1111110 |
整数(十进制) | 6 | -6 |
原码 | 0 0000110 | 1 0000110 |
反码 | 0 0000110 | 1 1111001 |
补码 | 0 0000110 | 1 1111010 |
8位机里 最长八位,超过会截取后八位
正整数相加
如 2+6 = 0 0000010(补) + 0 0000110(补) = 0 0001000 (补)= 0 0001000 (原)= 1*2^3 = 8
负整数相加
如 -2+(-6) = 1 1111110(补) + 1 1111010(补) = 1 11111000(补:九位)= 1 1111000(补:八位) =1 0001000(原) = -8
正整数与负整数相加
如 -2+6 = 1 1111110(补) + 0 0000110(补) = 1 00000100(补:九位)= 0 0000100(补:八位)=0 0000100(原) = 4
如 -6+2 = 1 1111010(补) + 0 0000010(补) = 1 1111100(补) = 1 0000100(原) = -4
如 -2+2 = 1 1111110(补) + 0 0000010(补) = 1 00000000(补:九位) = 0 0000000(补:八位) = 0 0000000(原) = 0