Heim >Java >javaLernprogramm >Detaillierte Einführung in bitweise Operatoren und Schiebeoperationen in Java
1. Bitoperationen
Es gibt 4 Bitoperationen in Java. Ihre Operationsregeln lauten wie folgt:
(1) Bitweises UND (&): beide Bits sind 1, das Ergebnis ist 1, sonst ist es 0;
(2) bitweise ODER (|): eines der beiden Bits ist 1, das Ergebnis ist 1, sonst ist es 0; bitweises Negatives (~): 0 ändert sich zu 1, 1 ändert sich zu 0;
(4) Bitweises XOR (^): zwei Bits, wenn sie gleich sind, ist das Ergebnis 0; sind unterschiedlich, das Ergebnis ist 1;
(1) Das Vorzeichenbit (höchstes Bit) in Bitoperationen ändert sich auch
(2) Bitoperatoren und Logische Operatoren (logisches UND &&, logisches ODER ||, logisches NICHT!) sind etwas ähnlich. Logische Operatoren können jedoch nur mit booleschen Variablen
arbeiten (d. h. die Werte auf der linken und rechten Seite sind boolesche Werte
2. Anwendung von Bitoperationen).(1) ~5 = ?
00000000 00000000 00000000 00000101
b) Das bitweise Die Negation von 5 (~) ist:
11111111 11111111 11111111 11111010
Hinweis: Da die hohe Ziffer 1 (negative Zahl) ist, muss der Komplementcode in den Originalcode umgewandelt werden ; wenn die hohe Ziffer 0 (positive Zahl) ist, besteht keine Notwendigkeit, den Komplementcode in den Originalcode umzuwandeln, da der Originalcode, der Komplementcode und der Komplementcode der positiven Zahl gleich sind. c) Konvertieren Sie das Komplement der negativen Zahl in den Umkehrcode:
11111111 11111111 11111111 11111001
10000000 00000000 000000 00 0000110 = 0 * 2^ 0 + 1 * 2^1 + 1 * 2^2 = 0+2+4 = -6 (das höchste Bit ist 1, also eine negative Zahl)
3.
(3) Logische Rechtsverschiebung (>>>): Low-Bit überläuft, High-Bit füllt mit 0; Hinweis: Die Symbole in logischer Rechtsverschiebung (>>>) Das Bit (das höchste Bit) ändert sich ebenfalls entsprechend
4. Hinweis:
Bitoperationen und Verschiebung Operationen verwenden alle binäre Komplemente für Operationen, also vermeiden Sie!