Python>>;=十进制到二进制函数的帮助

Python>>;=十进制到二进制函数的帮助,python,Python,您好,我正在编写一个十进制到二进制的函数,我发现这段代码非常有效: while n > 0: b = str(n % 2) + b n >>= 1 但是我不知道你能告诉我什么 非常感谢这是一个二进制右移操作。n中的位右移1。这相当于说n=n>>1 发件人: x>>y: 返回x,位右移y位。这与2**y使用/'ingx相同 例如,假设一个整数4,让我们将其向右移动1个位置 # First let's look at what 4 is in binary.

您好,我正在编写一个十进制到二进制的函数,我发现这段代码非常有效:

while n > 0:
    b = str(n % 2) + b
    n >>= 1
但是我不知道你能告诉我什么


非常感谢

这是一个二进制右移操作。
n
中的位右移1。这相当于说
n=n>>1

发件人:

x>>y
: 返回
x
,位右移
y
位。这与
2**y
使用
/
'ing
x
相同

例如,假设一个整数
4
,让我们将其向右移动
1
个位置

 # First let's look at what 4 is in binary.
 >>> bin(4)[2:].zfill(8) # this pads to 8 bits.
 '00000100'

 # If you shift all the bits towards the right 1 places the result is
 # '00000010', which in turn is 2 in base 10.
 >>> 4 >> 1
 2

 >>> bin(2)[2:].zfill(8)
 '00000010'

这是右班操作。右一位等于除以2。

这里的读取>>=等于除以2