第7节:原反补的计算 • 二进制数的最左侧位为符号位 0 表示正数 1 表示负数• 正数三码唯一• 负数反码原码的符号位不变其余位取反补码反码1且符号位不变• 向左无位可借就凭空借仍保留原有位数即可。1、-128 的由来-127 - 1-127 的原码1111 1111 1 的原码0000 0001-127 的反码1000 0000 1 的反码0000 0001-127 的补码1000 0001 1 的补码0000 0001补码1000 0001 - 0000 0001结果1000 0000反码1000 0000 - 1 1111 1111原码1111 1111 取反 1000 0000结果1000 0000 -127 - 1 -128也可以看作是 (-127) (-1) 1000 0001 1111 1111 1 1000 0000保留 8 位即结果为 1000 0000 -1282、计算 127 1 的结果127 的原码0111 1111 1 的原码0000 0001127 的反码0111 1111 1 的反码0000 0001127 的补码0111 1111 1 的补码0000 0001补码0111 1111 0000 0001结果1000 0000反码1000 0000 - 1 1111 1111原码1111 1111 取反 1000 0000结果1000 0000 -1283、计算 -1281 的结果-128 的原码1000 0000 1 的原码0000 0001-128 的反码1111 1111 1 的反码0000 0001-128 的补码1000 0000 1 的补码0000 0001补码1000 0000 0000 0001结果1000 0001反码1000 0001 - 1 1000 0000原码1000 0000 取反 1111 1111结果1111 1111 -1274、计算 2-3 的结果2 的原码0000 0010 3 的原码0000 00112 的原码0000 0010 3 的原码0000 00112 的原码0000 0010 3 的原码0000 0011补码0000 0010 - 0000 0011• 右边第1位为0不够减1向左借1当202-11第2位为0• 右边第2位向左借1当202-11第3位为-1• 右边第3位向左借1当2-12-01第4位为-1• 右边第4位向左借1当2-12-01第5位为-1• 右边第5位向左借1当2-12-01第6位为-1• 右边第6位向左借1当2-12-01第7位为-1• 右边第7位向左借1当2-12-01第8位为-1• 右边第8位向左借1当2-12-01。结果1111 1111反码1111 1111 - 1 1111 1110原码1111 11110 取反 1000 0001结果-1也可以看作是 2 (-3) 0000 0010 1111 1101 1111 1111 → 反码 1111 1110 → 原码 1000 0001 -1章节预告 —— 局部变量