Python-Übungsbeispiel 55

Python 100例Python 100 Beispiele

Thema:Lernen Sie, den bitweisen NOT-Operator ~ zu verwenden.

Erklärung:

Binärzahlen werden im Speicher in Zweierkomplementform gespeichert.

Bitweises NOT: Jedes Bit einer Binärzahl invertieren, 0 wird zu 1, 1 wird zu 0.

Das höchstwertige Bit ist das Vorzeichenbit, mit 0 für positive Zahlen und 1 für negative Zahlen.

Bei positiven Zahlen ist das höchstwertige Bit 0, und die übrigen Bits stellen den Wert selbst (binär) dar. Zum Beispiel ist das Zweierkomplement von +42 00101010.

Bei negativen Zahlen bilden Sie das Zweierkomplement des Absolutwerts, invertieren Sie es bitweise und addieren Sie dann 1 zur gesamten Zahl, um das Zweierkomplement dieser Zahl zu erhalten. Zum Beispiel ist das Zweierkomplement von -42 11010110 (00101010 bitweise invertiert

ist 11010101, plus 1 ergibt 11010110).

Berechnungsschritte für ~9:

转二进制:0 1001
计算补码:0 1001
按位取反:1 0110

In die Vorzeichen-Betrag-Darstellung umwandeln:

按位取反:1 1001  
末位加 1:1 1010
符号位为 1 是负数,即 -10

Beispiel

#!/usr/bin/python
# -*- coding: UTF-8 -*-

a = 7
b = ~a

c = -7
d = ~c

print ('Das Ergebnis der bitweisen NICHT-Operation für die Variable a ist: %d' % b)
print ('Das Ergebnis der bitweisen NICHT-Operation für die Variable c ist: %d' % d)

Das Ausgabeergebnis des obigen Beispiels ist:

变量 a 取反结果为: -8
变量 c 取反结果为: 6

Erklärung:

  • ~7, bei der bitweisen NICHT-Operation auf 7 ist das Zweierkomplement von 7 00000111, das Invertieren des Zweierkomplements ergibt 11111000, das höchstwertige Bit 1 ist das Vorzeichenbit und zeigt eine negative Zahl an, daher ist die diesem Zweierkomplement entsprechende ganze Zahl -8.

  • ~-7Bei der bitweisen NICHT-Operation auf -7 ist das Zweierkomplement von -7 11111001, das Invertieren des Zweierkomplements ergibt 00000110, das höchstwertige Bit 0 ist das Vorzeichenbit und zeigt eine positive Zahl an, daher ist die diesem Zweierkomplement entsprechende ganze Zahl 6.

Python 100例Python 100 Beispiele

Andere Erweiterungen