173:ビット演算を行う
シフト演算
左シフトは << 演算子、右シフトは >> 演算子を用います。右シフトであふれたビットは捨てられます。
>>> 7 << 1 14 >>> 7 >> 1 3
LEFT-SHIFT 0111 = 1110 RIGHT-SHIFT 0111 = 0011
おまけ
リファレンスマニュアルによると ~x は -(x+1) と定義されています。 また、n ビットの右シフト演算は pow(2,n) による除算、左シフトは pow(2,n) との乗算という定義です。
実際に Python 2.5 では 長整数型 のビット単位反転はビット演算ではなく、 1 を加えて符号反転で実装されていることが Object/longobject.c の long_invert 関数にて確認できます。