Heim >Java >javaLernprogramm >Detaillierte Einführung in bitweise Operatoren und Schiebeoperationen in Java

Detaillierte Einführung in bitweise Operatoren und Schiebeoperationen in Java

高洛峰
高洛峰Original
2016-12-16 16:59:011784Durchsuche

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 = ?

a) Das 5er-Komplement ist:


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

d) Konvertieren Sie das Komplement der negativen Zahl in den Originalcode:

10000000 00000000 00000110


e) Konvertieren Sie den binären Originalcode in Dezimalzahl:

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.

Es gibt 3 Schichtoperatoren in Java.


(1) Arithmetische Rechtsverschiebung (>>): Das Low-Bit läuft über, das Vorzeichenbit bleibt unverändert und das übergelaufene High-Bit wird mit dem Vorzeichenbit gefüllt

Zum Beispiel: a >> ; a ist die zu verschiebende Zahl, b ist die Anzahl der zu verschiebenden Ziffern, das Gleiche gilt unten


(2) Arithmetische Linksverschiebung ( << ): das Vorzeichenbit bleibt unverändert, das Low-Bit wird mit 0 gefüllt;

(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!

Eine ausführlichere Einführung in bitweise Operatoren und Verschiebungsoperationen in Java sowie verwandte Artikel finden Sie auf der chinesischen PHP-Website!

Stellungnahme:
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