Python ではなぜ ~2 が -3 に等しいのでしょうか?

Barbara Streisand
リリース: 2024-11-12 00:41:03
オリジナル
620 人が閲覧しました

Why does ~2 equal -3 in Python?

Python のビット単位の補数演算子 (~ チルダ) を理解する

概要

ビット単位の補数演算子(~) は、ビット単位の演算を実行する Python の強力なツールです。数値。これは一般に、数値のビットを反転するために使用され、値の表現に興味深い影響を与える可能性があります。

なぜ ~2 は -3 と等しいのか

興味深い側面の 1 つビット単位の補数演算子の特徴は、数値 2 に適用されたときの動作です。~2 の結果は -3 です。なぜこれが起こるのかを理解するには、2 の補数の概念を調べる必要があります。

2 の補数

コンピュータ システムでは、通常、負の数は 2 の補数法を使用して表現されます。 2 の補数では、負の値は、正の対応するビットを反転して 1 を加算することによって取得されます。

たとえば、

  • 正の 2 : 0000 0010
  • ビットを反転します: 1111 1101
  • 1 つ追加します: 1111 1110

ビット単位の補数~2

ビット単位の補数演算子が 2 に適用されると、2 のバイナリ表現のすべてのビットが単純に反転されます。反転されたビットは、2 の補数で解釈されると次のようになります。 -3.

ステップ:

  • 2 から開始: 0000 0010
  • ビットを反転: 1111 1101
  • この反転値は 2 の補数の -3 を表します

演算子の関数

の主関数補数演算子 (~) はビットを反転します。ただし、結果のビット パターンの解釈は、基になるマシンまたは演算子が使用されているコンテキストによって決まります。

覚えておいてください:

  • ~ チルダビットを補完 (反転) します。
  • 結果のビット パターンの意味は、マシンによって決定されるか、コンテキスト。

以上がPython ではなぜ ~2 が -3 に等しいのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート