6

パイソン 言う

1 << 16 = 65536

<<Python ではどのような操作が実行されますか?

4

4 に答える 4

12

Python の左シフト演算子です。左シフト操作は、その名のとおり、ビットを左に移動します。

バイナリ表現が 0010 の 2 があるとします。つまり 2<<2 、ビットを左に 2 回シフトすることを意味します。

0010 -> 0100 -> 1000

1000 は 8 の 2 進数表現です。数学的には、左シフトは数値に 2 のべき乗を掛けることと同じです a<<b == a*2^bが、操作はシフトのみで行われるため、乗算を行うよりもはるかに高速です。

于 2012-08-18T19:26:33.450 に答える
9

これはleft shift operator

1<<161 を 16 ビット左にシフトすることを意味します。

于 2012-08-18T19:12:28.560 に答える
5

<<これは Python の左シフト演算子です。詳細については、ドキュメントを参照してください。

于 2012-08-18T19:10:14.267 に答える
3

別の考え方としては、1 かける 2^16 です。

したがって、 x << y が表示されるたびに、次のように解釈されます。

x * 2^y

于 2012-08-18T19:36:13.373 に答える