正数与负数相加

例:0x8c4-0xf30  

思路:

十进制:直接加减

十六进制:先转2进制,负数转补码,运算后再转成16进制

0x8c4-0xf30  ==  (0x8c4)+(-0xf30)

(0x8c4)+(-0xf30)==> 补码相加

正数的补码是本身,负数的补码是反码+1

所以:

0x8c4补码(2进制)是:

0000,0000,0000,0000,0000,1000,1100,0100

-0xf30

原码:0000,0000,0000,0000,1000,1111,0011,0000

反码:1111,1111,1111,1111,1111,0000,1100,1111

补码:1111,1111,1111,1111,1111,0000,1101,0000

0x8c4补码+-0xf30补码:

0000,0000,0000,0000,0000,1000,1100,0100

+

1111,1111,1111,1111,1111,0000,1101,0000

=

1111,1111,1111,1111,1111,1001,1001,0100

=

0xFFFFF994

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值