Python-Übungsbeispiel 55
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 invertiertist 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
# -*- 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 Beispiele