计组考研第二章 定点数的移位计算

一. 算数移位

1.1 定义

        算数移位,如985.211移动到9852.11,及改变小数点的位置。

        即改变各数码位的位权,可以用移位算法实现乘法和除法

二.原码的移位 

2.1 源码算数右移

思想 

高位补0,低位舍弃,如果低位舍弃的是0,那么相当于➗2,如果低位舍弃的为1那么会丢失精度

2.2 源码算数左移 

算数左移:低位补0,高位如果是0,则相当于×2;如果高位不是0,那么会出现严重偏差 

总结

 

三.反码的移位 

3.1反码的正数移位

因为反码的正数等于源码的正数,所以正数的反码和源码相同

左移:高位补0,低位舍弃

右移:低位补0,高位舍弃

3.2 反码的负数移位

由于反码和源码的区别是,当原码为负数时,除了符号位全部取反

所以负数反码的移位:

右移:高位补1,低位舍弃

左移:低位补1,高位舍弃 

四. 补码的移位

4.1 正数的补码移位

正数的补码和原码一样,所以补码的移位与源码的移位一样

4.2 负数补码的移位 

注意:补码和反码的区别是:补码是反码的末位+1的结果,所以如果反码的末尾有1再+1的话会有进位,直到出现第一个0为止。所以补码的倒数第一个0之后与原码,0之前和反码一样

所以负数补码移位的思想:

左移(同原码):低位补0,高位舍弃。左移相当于✖2

右移(同反码):高位补1,低位舍弃.。右移相当于➗2

总结 

 五.逻辑移位(无符号数的算数移位)

5.1 思想 :

逻辑左移:低位补0,高位舍弃

逻辑右移:高位补0,低位舍弃

 

六.循环移位 

是一个循环补位的过程 

6.1 普通循环左移

6.2 带进位位的循环左移 

 在有些计算会导致超过8bit的进位,那么可以用一个进位位来存放来自低位的进位

循环的过程 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值