开门见山
我们以一字节(8位二进制编码)来解释
ps:这就是为什么下面的编码都是8个0、1的原因
原码:是数字的二进制编码,首位的0表示正数,1表示负数
例如:-5原码:10000101;
5原码:00000101;
反码:是将原码除了表示正负的首位数字不变,其他全部取反
例如:-5反码:11111010;
5反码:01111010;
补码:是对反码加一
例如:-5补码:11111011;
5补码:01111011;
这样看起来补码的计算似乎有些麻烦,需要先算原码再算反码最后才能求补码,因此就有了补码秘籍
求补码的简单方法
计算出原码后从原码的末尾开始复制,直到第一次复制出“1”,将这个“1”前面除代表符号的内容以外全部取反
例如:-5原码:10000101;
从后面复制的第一个数就是“1”。
于是将这个“1”前面除代表符号的内容以外全部取反
求得:-5补码:11111011;