可能重复:
Python - '>>' operator
有一些代码可以做到这一点:
x = n - 1 >> 1
我不知道是否需要提供更多语法,但>>是什么?意思?我一直在寻找,但找不到任何解释。
答案 0 :(得分:6)
它是一个右移逻辑,它是一个按位运算,告诉数字按比特移位。在这种情况下,您将移动1,相当于除以2.
如果你不理解按位操作,那么你需要记住一个简单的转换。
x>> Ñ
相当于
x //(2 ** n)
答案 1 :(得分:3)
这是bitwise shift-to-right operator。
它将整数参数的位向右移动表达式右侧的数字:
>>> 8 >> 2
2
或二进制说明:
>>> bin(0b1000 >> 2)
'0b10'
您的代码示例实际上是双重混淆,因为它混合了算术运算和按位运算。它应该使用'//' integer division operation代替:
x = (n - 1) // 2
答案 2 :(得分:1)
x >> y
相当于
x.__rshift__(y)
正如其他人所说的那样,意味着是一个分档。
答案 3 :(得分:1)
>>是按位右移运算符。该运算符将第一个操作数中的所有位右移第二个操作数。
所以:a>> b = a // 2 ** b
示例:
请注意,操作员在添加后进行操作。因此代码首先执行n-1,然后将其右移1位(即除以2)。