移位运算

位移运算

右移

有符号

负数 -10:

1、先写出原码:11010

2、符号位不变,其他位置取反后加1:10110

3、右移四位,高位补1:11111

4、符号位不变,其他位置取反后加1:10001

5、结果即为-1


正数+10:【即为整除2^N】

1、写出原码:01010

2、右移四位,高位补0:00000

3、结果即为0

无符号

按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同

正数10:【即为整除2^N】

1、写出原码:1010

2、右移四位,高位补0:0000

3、结果即为0


负数-10:

无符号负数右移,就是相应的补码移位所得,在高位补0即可

1、先写出原码:11010

2、符号位不变,其他位置取反后加1:10110

3、右移四位,高位补0:00001

5、结果即为1

左移

左移是不分有符号和无符号的,左移N位,相当于【乘以2^N】

±10左移4位:

±10✖2^4 = ±160

参考

1、位移1 位移2

作者: Pam

出处: https://www.cnblogs.com/pam-sh/>

关于作者:网安在读

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(mir_soh@163.com)咨询.

原文地址:https://www.cnblogs.com/pam-sh/p/14555058.html