为什么要用补码相加来表示减法运算

计算机运算器只有加法计算器没有减法计算器,因此减法运算要用负数相加代替。

最简单的例子:1-1=0,可以表示为1+(-1)=0,用8位二进制数表示1、-1的话,分别为0000 0001、1000 0001

最高位0、1分别表示正负,如果直接用0000 0001和1000 0001相加的话得到的结果并不为0,而我们知道两个相反数的和为0,这时候就需要计算机把这两个有符号的二进制数分别转换成各自的补码进行相加才能得到正确的结果0。

负数的补码等于其符号位不变,其余各位取反(即反码)再加1,如1000 0001→1111 1110→1111 1111

正数的补码和反码等于其原码,如:0000 0001→0000 0001

这时候1111 1111+0000 0001=0000 0000(忽略掉符号位的进位)得到正确的结果0.

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容