二进制正负数的表示方式:原码,反码,补码

二进制正负数的表示方式:原码,反码,补码

今天学习汇编语言标志寄存器那一节,关于正负,忽然发现这个当初学的已经忘记了,特地来记录复习一下。

原码:最普通的二进制数字
反码:对源码取反
补码:反码的基础上加上1

数据类型分为:有符号,无符号。

无符号类型全都是正号。
有符号类型存在正负,所以最高位就要拿出来,如果为0表示该数字为正,为1表示该数字为负。

负数应该如何表示呢?
负数的绝对值->源码->补码->反码->表示负数。

比如-1:

源码: 0000 0001
反码: 1111 1110
补码: 1111 1111

这个就表示-1,因为为有符号类型,那么最高位为1自然表示是负数。

要的到其值就“减一取反”即可。

就是这个样子,很简单!

为什么负数这么表示?

因为 你在进行正负计算时,可以直接相加对于负数运算,而不用再去转换成负数了!

比如

-1 1111 1111
1 0000 0001
直接相加后的结果

1 0000 0000

最高位溢出忽视,那么结果就是0,计算正确。

而你不用再把-1的补码还原成相关的值,这种操作是你要明确的。

这对计算机的运算大大的有利!!!!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值