ホームページ  >  記事  >  バックエンド開発  >  Python ではなぜ `~2` が -3 と等しいのでしょうか?

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

Susan Sarandon
Susan Sarandonオリジナル
2024-11-18 06:22:01266ブラウズ

Why Does `~2` Equal -3 in Python?

Python のビット単位の補数演算子 (~~) の説明

Python のビット単位の補数演算子 (~) は、オペランドに対してビット単位の NOT 演算を実行します。 、すべてのバイナリ ビットを反転します。この演算子は主にシステム内で負の数を表すために使用されます。

~ 演算子はどのように機能しますか?

負の数は 2 の補数を使用してコンピュータのメモリに格納されます。表記。この表記では、符号ビットは数値が正か負かを表します。ビットの残りは数値の大きさを表します。

数値 -2 を考えてみましょう。 2 の補数では、次のように表されます (8 ビット):

1111 1110

この表現は、正の対応する 2 進の補数 (2) を取得し、1 を加算することによって導出されます。

0000 0010 (positive 2) -> 1111 1101 (complement) -> 1111 1110 (add one for negative)

~2 が -3 に等しい理由

~2 がなぜ -3 に等しいのかを理解するには-3、2 のビット単位の補数を調べてみましょう:

0000 0010 (positive 2) -> 1111 1101 (complement)

この補数は、-3 の 2 の補数表現です:

0000 0011 (positive 3) -> 1111 1100 (complement) -> 1111 1101 (add one for negative)

したがって、 ~ 演算子を使用すると、2 の補数で -3 を表すビット パターンが得られます。

キーポイント

~ 演算子はビット単位の反転のみを実行することに注意することが重要です。結果のビットが正または負の数として解釈されるかどうかは、コンピューター システムのメモリ表現によって決まります。

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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。