Heim > Backend-Entwicklung > Python-Tutorial > Warum ist „~2' in Python gleich -3?

Warum ist „~2' in Python gleich -3?

Susan Sarandon
Freigeben: 2024-11-18 06:22:01
Original
353 Leute haben es durchsucht

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

Python Bitweiser Komplementoperator (~~) erklärt

Der bitweise Komplementoperator (~) in Python führt eine bitweise NICHT-Operation an seinem Operanden durch , Invertieren aller Binärbits. Dieser Operator wird hauptsächlich zur Darstellung negativer Zahlen im System verwendet.

Wie funktioniert der ~-Operator?

Negative Zahlen werden im Speicher des Computers unter Verwendung des Zweierkomplements gespeichert Notation. In dieser Notation stellt das Vorzeichenbit dar, ob die Zahl positiv oder negativ ist. Der Rest der Bits stellt die Größe der Zahl dar.

Betrachten Sie die Zahl -2. Im Zweierkomplement wird es wie folgt dargestellt (8 Bit):

1111 1110
Nach dem Login kopieren

Diese Darstellung wird abgeleitet, indem das binäre Komplement des positiven Gegenstücks (2) genommen und eins addiert wird.

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

Wie ~2 gleich -3 ist

Um zu verstehen, warum ~2 gleich -3 ist, untersuchen wir das bitweise Komplement von 2:

0000 0010 (positive 2) -> 1111 1101 (complement)
Nach dem Login kopieren

Dieses Komplement ist das Zweierkomplementdarstellung von -3:

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

Daher erhalten wir durch Invertieren der Bits von 2 mit dem ~-Operator das Bitmuster, das -3 in der Zweierkomplementdarstellung darstellt.

Wichtiger Punkt

Es ist wichtig zu beachten, dass der ~-Operator nur eine bitweise Invertierung durchführt. Die Interpretation der resultierenden Bits als positive oder negative Zahl wird durch die Speicherdarstellung des Computersystems bestimmt.

Das obige ist der detaillierte Inhalt vonWarum ist „~2' in Python gleich -3?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage