二进制位移:为什么左移3位不去掉,右移3位要去掉右面3位
来源:2-12 位运算符
慕仔3324259
2019-06-14 15:06:58
#00111100
#00111100000=480
c = a << 3
print("a << 3:",c)
#00111100
#00000111=7
c = a >> 3
print("a >> 3:",c)
1回答
同学,你好。左移和右移的运算规则是不同的。
<<左移运算规则:按二进制形式把所有的数字向左移动对应的位数,高位移出(舍弃),低位的空位补零。Python3中int类型的长度理论支持无限大的数字,几乎不存在左移时高位舍弃的情况。
>>右移运算规则:按二进制形式把所有的数字向右移动对应的位数,低位移出(舍弃),高位的空位补符号位,正数补0,负数补1。
例:
如果我的回答解决了您的疑惑,请采纳!祝学习愉快~~~~
相似问题