パイソン 言う
1 << 16 = 65536
<<
Python ではどのような操作が実行されますか?
Python の左シフト演算子です。左シフト操作は、その名のとおり、ビットを左に移動します。
バイナリ表現が 0010 の 2 があるとします。つまり 2<<2
、ビットを左に 2 回シフトすることを意味します。
0010 -> 0100 -> 1000
1000 は 8 の 2 進数表現です。数学的には、左シフトは数値に 2 のべき乗を掛けることと同じです a<<b == a*2^b
が、操作はシフトのみで行われるため、乗算を行うよりもはるかに高速です。
これはleft shift operator
1<<16
1 を 16 ビット左にシフトすることを意味します。
<<
これは Python の左シフト演算子です。詳細については、ドキュメントを参照してください。
別の考え方としては、1 かける 2^16 です。
したがって、 x << y が表示されるたびに、次のように解釈されます。
x * 2^y