移位运算

1、逻辑移位和算数移位

逻辑移位指二进制数的值表示图形模式,而不是数值;
算数移位是指二进制数的值表示带符号的数值;

2、左移

左移相当于乘法运算,对于二进制而言,左移一位相当于乘2,左移两位相当于乘2^2=4,以此类推;
左移后,最高位溢出的数字直接丢弃,而最低位空出的位置,无论是逻辑左移还是算数左移,都只需要在空出来的低位补0即可;

3、右移

右移相当于除法运算,对于二进制而言,右移一位相当于除以2,右移两位相当于除以2^2=4,以此类推;
右移后,最低位溢出的数字直接丢弃,而最高位空出的位置,需要分逻辑右移和算数右移两种情况:
逻辑右移时,只需要在高位直接补0就可以了
算数右移时,需要在最高位补移动前符号位的值,移一位补充一位,如将-4右移2位:
-4=1111 1100,右移1位得:1111 1110,右移2位得:1111 1111,结果为-1;

4、符号扩充

以8进制为例,符号扩充是指,在数值不变的前提下,将8进制转换成16进制或32进制等,此时,不管是正数,还是用补码表示的负数,都只要用符号位的值填充高位就可以了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值