UND-Verknüpfung&
Beispiel:
3&5
Lösung: Das Zweierkomplement von 3 ist 11, und das Zweierkomplement von 5 ist 101, 3&5 ist 011&101, Schauen wir uns zuerst die Hunderterstelle an (eigentlich ist es nicht die Hunderterstelle, dies dient nur dem Verständnis. Es gibt eine 0 und eine 1. Gemäß (1&1=1, 1&0=0, 0&0=0, 0&1). =0), wir wissen, dass die Hunderterstelle 1 sein sollte und die Zehnerstelle auch gleich ist. Die Zahl 1&0=0, die Zahl an der Einerstelle ist 1&1=1, also ist das Endergebnis 1. (Es sollte Seien Sie einen Schritt danach, da der Wert, den wir jetzt erhalten, nur das Komplement der Antwort ist, nach der wir suchen, aber aufgrund der positiven Zahl Das Komplement ist es selbst und kann daher nicht weggelassen werden folgendes Beispiel).
-1&-2
Lösung: Das Komplement von -1 ist 11111111 und das Komplement von -2 ist 11111111. Der Code ist 11111110, 11111111&11111110. Das ist das Komplement Dann wird der Originalcode in 100000010 konvertiert (die Methode zum Konvertieren einer negativen Zahl in den Originalcode besteht darin, eins zu subtrahieren und sie zu negieren. Die endgültige Konvertierung in eine Dezimalzahl ist -2.
-2&6
Lösung:) Das Komplement von -2 ist 11111110, das Komplement von 6 ist 110, 11111110&110, also 11111110&00000110 (der Zweck dieses Schreibens besteht darin, Anfängern ein besseres Verständnis bitweiser Operationen zu ermöglichen). Befolgen Sie die obige Methode, um Folgendes zu erhalten: Das Ergebnis ist: 110, in Dezimalzahl umgewandelt ist 6 .
Tipp: Sie können die letzte Ziffer einer beliebigen Binärzahl bitweise in 0 ändern, also
z. B.:
a = 5 b = 3 print a & b
Ergebnis: 1
Wie wird dies tatsächlich durch das Binärsystem von a und b berechnet?
# a 的 b 的二进制 # 0*2**3 + 1*2**2 + 0*2**1 + 1*2**0 # 开始与运算 a = 0101 b = 0011
Ergebnis: 0001
Die UND-Verknüpfung besteht darin, die Binärzahlen von a und b zu vergleichen. Wenn beide Ziffern 1 sind, ist dies der Fall wird als 1 gezählt. Wenn Sie nicht zustimmen möchten: Wenn beide 0 sind, wird es als 0 gezählt. Wandeln Sie dann die Antwort von binär in dezimal um.
ODER-Verknüpfung|
Beispiel:
4|7
Lösung: Die Berechnungsregel der bitweisen Vereinigung ist der von bitweisem UND sehr ähnlich, die Logik ist es jedoch Geänderter Operator, die Vereinigungsregel lautet: 1|1=1, 1|0=1, 0|0=0. 4|7 in Binärform umgewandelt ist: 100|111=111. Binär 111 ist 7 in Dezimalzahl.
Tipps: Verwenden Sie die bitweise Funktion, um die letzte Ziffer einer beliebigen Binärzahl in 1 zu ändern, also 🎜>Ergebnis: print 7
a = 5 b = 3 print a | b
ODER-Verknüpfung ist genau UND-Verknüpfung Im Gegenteil Wenn die Anzahl der Ziffern nicht 0 ist, wird sie als 1 gezählt, andernfalls wird sie als 0 gezählt.
a = 0101 b = 0011
Methode: Bitaddition, es sollte besonders darauf geachtet werden, dass kein Übertrag erfolgt. Lösung: 10^101=111 Das Dezimalergebnis von binär 111 7.
1^1 Lösung: 1+1=0 (Ursprünglich binär 1+1=10, aber Übertrag ist nicht erlaubt, daher ist das Ergebnis 0)
-3^4
Ergebnis: 6
a = 5 b = 3 print a ^ b
Linksverschiebung und Rechtsverschiebung
1. Linksverschiebungsoperator
Methode: X< Lösung: 11 verschiebt sich um zwei Stellen nach links, um 1100 zu werden, was 12 ist. Methode: Lösung: Die Binärzahl von 10 ist 1010, und das Verschieben um eine Stelle nach rechts ist 101, also 5.a = 0101
b = 0011
Rechtsverschiebung Operation Symbol >>
Das Ergebnis ist 20 10100Die Verschiebungsoperation verschiebt die Binärzahl nach nach links oder rechts bewegt es sich um 2 Einheiten nach links.
Weitere Artikel zur Zusammenfassung dezimaler bitweiser Operationen und Berechnungen in Python finden Sie auf der chinesischen PHP-Website!