定点运算(一) - 移位运算

移位:

为什么要移位?

在计算机里面, 移位操作可以与加减法操作一起构成乘除法运算。

注意:因为计算机里面没有专门的硬件来表示小数点, 小数点是人为约定的; 这就说明小数点的位置是不可变的。即移位操作动的是数据而不是小数点。

移位的规则:

符号位不变, 因为负数移位之后还是负数, 不可能因为一个移位就变成正数了, 下面是具体添补代码:

主要讲一下补码的添补: 举下面这个例子, 因为文本的不怎么好写就换成图片了。

算术移位和逻辑移位的区别:

算术移位:有符号数的移位。

逻辑移位:没有符号数的移位。(移位的时候所有数据都要移)

从上面的定义可知:前面说的都是算数移位。

为了记录最高位移掉的数, 在移位时可以使用带进位的移位。 将移掉的最高位可以移动到进位中, 但是进位也只能保持一 位数。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值