根据补码计算对应的十进制数--符号位为1

1.原码反码补码简介:

        原码是用最高位表示符号位的一种表示方法,即用最高位为0表示正数,用最高位为1表示负数,其余位表示数值的大小。

        反码是对原码进行取反操作得到的一种表示方法,即正数的反码和原码相同,负数的反码是将原码中除符号位之外的各位取反。

        补码是对原码或反码进行加1操作得到的一种表示方法,即正数的补码和原码相同,负数的补码是将反码加1。

        原码、反码和补码在计算机中广泛使用,可以用来表示整数的范围更广,同时可以简化加法和减法运算。

在认识了什么是原码反码补码是什么之后,我们再来进行下面的讲解

2.value Box  方法

        那么,什么是value Box方法呢,即二进制的每一位,都对应特定的权重,即从左向右,对应的权重是:-2^(n-1),   2^(n-2),   2^(n-3)......    举个例子:有5位二进制数(对应的是补码,符号位为1),那么从左向右,对应的权重就是 -2^4  2^3  2^2  2^1  2^0  ,如补码11011,对应的十进制数就是-5,那么根据value Box如何计算?,如下

        -2^(5-1) * 1 + 2^(5-2) * 1 + 2^(5-3) * 0 + 2^(5-4) * 1 + 2^(5-5) * 1 = -16+8+2+1 = -5

3.寻一取反法

        该方法的意思是,已知一个二进制数(对应的是补码,符号位为1),那么从右向左,找到第一个为1的数,然后该位左边的都取反,右边的不动,最后变成一个新二进制数,然后进行相应的权重计算(2^(n-1),   2^(n-2),   2^(n-3).....),得到一个新数字,再添符号即可得出答案。还是以11011为例子:从右向左找到第一个1,然后左边的取反,右边的不动则变为,00101,对应的二进制数为5,最后添-,11011(补码),对应的十进制数就是-5

         

  • 18
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ray-国

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值