【发布时间】:2012-08-14 19:51:30
【问题描述】:
Python 说
1 << 16 = 65536
<< 在 Python 中执行什么操作?
【问题讨论】:
Python 说
1 << 16 = 65536
<< 在 Python 中执行什么操作?
【问题讨论】:
它是 Python 的左移运算符。 顾名思义,左移操作将位向左移动。
假设你有 2 的二进制表示是 0010。
所以 2<<2 的意思是将位向左移动两次:
0010 -> 0100 -> 1000
1000 是 8 的二进制表示。在数学上,左移与将数字乘以 2 的幂相同:a<<b == a*2^b,但由于仅通过移位完成运算,因此比乘法要快得多。
【讨论】:
这是left shift operator
1<<16 表示 1 左移 16 位。
【讨论】:
<< 是 Python 中的左移运算符。请查看documentation 了解更多详情。
【讨论】:
另一种思考方式是 1 乘以 2^16。
所以每当你看到 x
x * 2^y
【讨论】: