补码转化为原码,补码转化为负补码 的快速转换

前提知识:

1、一个负整数(或原码)与其补数(或补码)相加,和为模。

2、对一个整数的补码再求补码,等于该整数自身。

3、补码的正零与负零表示方法相同。

总之,正整数的补码是其二进制表示,与原码相同。求负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1。

正整数的原码反码补码一样;

负整数的反码是除了原码符号位其他位全部取反,补码是反码加一。

备注:计算中主要采用的是补码,就是将减法计算变成加法计算,反码是求补码的中间状态此外。补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。

一、负数补码转化为原码

例:已知某数X的补码1 111 1010 ,试求其原码。

解:由X的补码=1 111 1010 知,X为负数。(正整数的原码反码补码一样)

方法1:数值位取反+1

1 111 1010 补码

1 000 0101 反码(末位加1)

1 000 0110  原码

方法2: 负数补码中,最右边的1及其右边同原码(红色部分),最右边的1左边同反码(符号位不变)

二、补码转化为负补码

例:已知某数X的补码1 111 1010 ,试求其负补码。

方法1:补码变成原码 -> 符号位取反(负原码) ->负补码

1 111 1010 补码

1 000 0101 反码(末位加1)

1 000 0110  原码

0 000 0110  负原码

0 000 0110  补码  (正整数的原码反码补码一样)

方法2:数值位和符号位全部取反+1

方法3:负补码中,最右边的1及其右边同原码(红色部分),最右边的1左边同反码(符号位变化)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

javafanwk

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

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

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

打赏作者

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

抵扣说明:

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

余额充值