带符号数的移位


带符号数的移位操作
    算术移位时应保持数的符号位不变,而数值的大小则要发生变化。左移一位相当于该数乘以2,而右移一位相当于该数除以2。

1、原码的移位规则

  不论正数还是负数,在左移或右移时,符号位均不变,空出位一律以0补入。

  负数的原码移位前后结果为:

    左移:移位前有    1   X1   X2  ···   Xn−1    Xn
          移位后有    1   X2   X3  ···     Xn       0

    右移:移位前有    1   X1   X2  ···   Xn−1    Xn
          移位后有    1     0   X1  ···   Xn−2    Xn-1

2、补码的移位规则
    (1)正数
     符号位不变,不论左移还是右移,空出位一律以0补入。
    (2)负数
     符号位不变,左移后的空出位补0,右移后的空出位补1。

     左移:移位前有  1   X1   X2  ···   Xn−1    Xn
           移位后有  1   X2   X3  ···     Xn       0

     右移:移位前有  1   X1   X2  ···   Xn−1    Xn
           移位后有  1    1    X1  ···   Xn−2    Xn-1


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM