python位运算符>>的计算

python位运算符>>的计算

问题描述:

python位运算符>>的计算
表达式65>>1的值为()

表达式65>>1的值为 32
>>是二进制按位右移运算,把65转为二进制数是:
0100 0001
>>1把所有二进制数位都向右移1位,最右边的1会移走,变成:
0010 0000
转换成十进制数就是32

这样就等于是除以2取整了

相当于除以2,答案应该是32

32

右移运算,把10进制数转为二进制数比较直观:
65(10)=0100 0001(2)
向右移动1位: 0010 0000
0010 0000(2)=32(10)