为什么计算机使用补码进行计算

为什么计算机使用补码进行计算

今天看到一句话(Subtraction can be easily reduced to addition by using complement code.粗略翻译:使用补码可以很容易的将减法化为加法)没想明白,后悔当初没好好学数字逻辑。

补充知识:

  • 原码: 对计算机中数字的二进制定点表示。最高为为符号位,符号位为0表示正数,为1表示负数,其余位置表示数值大小。原码不能直接参加运算,比如(-1)+1=0,如果用二进制计算:00000001+10000001=10000010,换算为十进制为130,出现运算错误。
  • 反码: 一个数如果为正,则它的反码与原码相同;一个数如果为负,则符号位为1,其余各位对原码取反。
  • 补码: 一个数如果为正,则它的原码、反码、补码相同;一个数如果为负,则符号位为1,其余各位是对原码取反,再整体加1。

补码用来进行计算的优势:

  • 数据的符号与数据一起参加运算。
  • 求差时将负减数求补,用求和代替求差,将减法运算转换为补码的加法运算。
  • 运算结果为补码。如果符号位为 0 ,表明运算结果为正;如果符号位为 1 ,则表明结果为负。

总结来说,补码可以方便的实现减法运算或者结果出现二进制负数的情况。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值