软考2:码制:原码,反码,补码,移码

原码:最高位为符号位,低位表示数值的绝对值

反码:正数反码与原码相同,负数反码其绝对值按位取反

补码:正数补码与原码相同,负数补码是其反码末位加1

移码:补码的符号位按位取反

注意:一般通过计算机计算的到的结果都是通过补码来计算得到的

例:求1与-1的和(假设机器字节长为8)

二进制表示1:00000001

二进制表示-1:10000001

注意:首位0表示正数,1表示负数

原码相加:0000,0001+1000,0001=1000,0002(逢2进1)=1000,0010

转换为十进制:首位为1(不计入计算,只作为符号),所以结果为负数,第二位为1,其他都为0,所以最终结果就是-2,由此可以看出该结果与我们平时通过计算计算得到的结果有出入,同时反码结果也不是0,只有补码的结果与我们平时计算的结果一致。

1-11+(-1)
原码0000,00011000,00011000,0010
反码0000,0001(正数不变)1111,1110(负数,原码取反)1111,1111
补码0000,0001(正数不变)1111,1111(负数,反码末位加1)0000,0000(逢2进1,取前8位)
移码1000,00010111,11111000,0000

综合题:如果“2X”的补码是“90H”,那么X的真值是多少?

分析:(1)“90H”中H表示16进制,所以将90H转换成二进制

             (2)真值即原码,所以需要将补码转换成原码

转换成二进制:90H = 1001,0000

补码:1001,0000\rightarrow 反码:1000,1111\rightarrow 原码:1111,0000

1111,0000转换成16进制 =  -70H  =  -7x16^{1}+0x16^{0}=-112

所以2x   =  -112,x = -56

所以x的真值为-56

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

mozzm

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

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

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

打赏作者

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

抵扣说明:

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

余额充值