python中(**)和(<;)之间的区别是什么?

python中(**)和(<;)之间的区别是什么?,python,bit-shift,exponent,Python,Bit Shift,Exponent,我使用的是**,***是指数运算符>>22**4=2^4=2*2*2*2 >>> 2 ** 1 2 >>> 2 << 1 4 2> 2结果不同,因为2**n的等价物是1,0b100 0b10 0b1000 要使用左移位运算计算二的幂,可以定义如下函数: 0b10101 << 1 ==> 0b101010 0b1000 >> 1 ==> 0b100 0b10 << 2 ==> 0b10

我使用的是**,
***
是指数运算符<代码>2**1 2. >>>22**4=2^4=2*2*2*2

>>> 2 ** 1
2
>>> 2 << 1
4

2> 2结果不同,因为
2**n
的等价物是
1,
1==>0b100
0b10 0b1000
要使用左移位运算计算二的幂,可以定义如下函数:

0b10101 << 1 ==> 0b101010
0b1000  >> 1 ==> 0b100
0b10    << 2 ==> 0b1000
def poweroftwo(x):

返回1
>>2**4//2^4
输出12,您的意思是
#
而不是
/
,我想:),尽管它等于
2
>>> 1 << 1  # 00000001 becomes 0000010
2
>>> 1 << 2  # 00000001 becomes 0000100
4
>>> 1 << 15 # 000000000000001 becomes 1000000000000000
32768
>>> 3 ** 3
27
>>> 2 ** 1
2
>>> 2 << 1
4
>>> 2**4 
16
>>> 2<<4 
32
0b10101 << 1 ==> 0b101010
0b1000  >> 1 ==> 0b100
0b10    << 2 ==> 0b1000
def poweroftwo(x):
    return 1 << x