2.3.4.1 整数型におけるビット文字列演算

通常および長整数型ではさらに、ビット文字列に対してのみ意味のある 演算をサポートしています。負の数はその値の 2 の補数の値として扱われます (長整数の場合、演算操作中にオーバフローが起こらないように十分なビット数 があるものと仮定します) 。

2 進のビット単位演算は全て、数値演算よりも低く、比較演算子よりも高い 優先度です; 単項演算 " " は他の単項数値演算 ("+" および "-") と同じ優先度です。

以下のテーブルでは、ビット文字列演算を優先度の低いものから順に並べています (同じボックス内の演算は同じ優先度です):

演算 結果 注釈
x | y ビット単位の xy論理和
x ^ y ビット単位の xy排他的論理和
x & y ビット単位の xy論理積
x << n xn ビット左シフト (1), (2)
x >> n xn ビット右シフト (1), (3)
~x x のビット反転

注釈:

(1)
負値のシフト数は不正であり、ValueError が送出 されます。
(2)
n ビットの左シフトは、オーバフローチェックを行わない pow(2, n) による乗算と等価です。
(3)
n ビットの右シフトは、オーバフローチェックを行わない pow(2, n) による除算と等価です。

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。