~ ビット反転
最終更新:2026-09-22
~ ビット反転
~ は x のビットを反転します = -(x+1)。
| カテゴリ | 演算子 |
|---|---|
| 種類 | 演算子 |
| Python バージョン | all |
📝 構文
~a
▶ 例
下のコードを編集し「実行」をクリックすると、出力パネルに結果が表示されます:
実行結果:
-1
-6
2
💡 関連するケース
さらに多くのケースは近日公開予定です。
❓ よくある質問
Qなぜ ~5 は -6 になるのですか?
A`~x == -(x+1)` が成り立つからです:`~` は全ビット(符号ビットも含む)を反転し、2の補数表現で必ずこの結果になります。`~0 == -1`、`~-3 == 2` です。
Q`~` は何に使えますか?
Aよくあるテクニックは「後ろから i+1 番目」を取ることです:`lst[~i]` は `lst[-i-1]` と等価で、たとえば `lst[~0]` は最後の要素を取ります。また一部のアルゴリズムではビット反転も使います。
Q`~` は論理否定ですか?
Aいいえ。論理否定は `not`(bool を返す)です。`~` はビットごとの反転(int を返す)です。`not 5` は `False`、`~5` は `-6` です。