Von Java definierte Bitoperationen gelten für Ganzzahltypen wie int, long, short, char und byte.
Bitweise Operatoren werden hauptsächlich zum Ausführen von Operationen an den Binärbits der Operanden verwendet. Bitweise Operationen stellen Berechnungen dar, die auf jeder Binärziffer basieren. Wenn das Operationsergebnis eine negative Zahl ist, wird die Komplementdarstellung verwendet . .
Bitoperatoren in der Java-Sprache werden in zwei Kategorien unterteilt: bitlogische Operatoren und Bitverschiebungsoperatoren.
Bitweise UND-Verknüpfung:
Die bitweise UND-Operation führt eine bitweise Operation an zwei ganzzahligen Daten a und b durch, und das Ergebnis der Operation ist ein ganzzahliges Datum c. Der Algorithmus lautet: Wenn die entsprechenden Bits der beiden Daten a und b beide 1 sind, ist das Bit von c 1, andernfalls ist es 0.
Zum Beispiel:
a:0 1 0 1 0 0 1 1
b:0 0 1 1 1 0 1 0
c:0 0 0 1 0 0 1 0
Bitweise ODER-Verknüpfung:
Die bitweise ODER-Operation führt eine bitweise Operation an zwei ganzzahligen Daten a und b durch, und das Ergebnis der Operation ist ein ganzzahliges Datum c. Der Algorithmus lautet: Wenn die entsprechenden Bits der beiden Daten a und b beide 0 sind, ist das Bit von c 0, andernfalls ist es 1.
Zum Beispiel:
a:0 1 0 1 0 0 1 1
b:0 0 1 1 1 0 1 0
c: 0 1 1 1 1 0 1 1
Bitweise NICHT-Operation:
Die bitweise NICHT-Operation führt eine bitweise Operation an einem ganzzahligen Datenwert a durch, und das Ergebnis der Operation ist ein ganzzahliger Datenwert c. Der Algorithmus lautet: Wenn das entsprechende Bit der Daten a 0 ist, ist das Bit von c 1, andernfalls ist es 0.
Zum Beispiel:
a:0 1 0 1 0 0 1 1
c:1 0 1 0 1 1 0 0
Bitweise XOR-Operation:
Die bitweise XOR-Operation führt eine bitweise Operation an zwei ganzzahligen Daten a und b durch, und das Ergebnis der Operation ist ein ganzzahliges Datum c. Der Algorithmus lautet: Wenn die entsprechenden Bits der beiden Daten a und b gleich sind, ist das Bit von c 0, andernfalls ist es 1.
Zum Beispiel:
a:0 1 0 1 0 0 1 1
b:0 0 1 1 1 0 1 0
c:0 1 1 0 1 0 0 1
Bitweise Rechtsverschiebungsoperation:
Der Algorithmus der bitweisen Rechtsverschiebungsoperation lautet wie folgt: Alle Zahlen werden um die entsprechende Anzahl von Stellen in Binärform nach rechts verschoben, die niedrigen Bits werden herausgeschoben (verworfen) und die leeren Bits in den hohen Bits werden mit Nullen aufgefüllt.
Beispiel: Verschieben Sie die Ganzzahl 83 um 1 Bit nach rechts
Vor dem Schalten: 0 1 0 1 0 0 1 1
Nach dem Verschieben: 0 0 1 0 1 0 0 1
Bitweise Linksverschiebungsoperation:
Der Algorithmus der bitweisen Linksverschiebungsoperation ist: alle Zahlen um die entsprechende Anzahl von Stellen in Binärform nach links verschieben, die hohen Bits herausschieben (verwerfen) und die leeren Bits in den niedrigen Bits mit Nullen füllen.
Beispiel: Verschieben Sie die Ganzzahl 83 um 1 Bit nach links
Vor dem Schalten: 0 1 0 1 0 0 1 1
Nach dem Verschieben: 1 0 1 0 0 1 1 0
Beispiel:
publicclassMain{publicstaticvoidmain(String[]args){inta=83;/*83=01010011*/intb=58;/*58=00111010*/intc=0;c=a&b;/*18=00010010*/System.out .println(a&b=+c);c=a|b;/*123=01111011*/System.out.println(a|b=+c);c=~a;/*01010011 ist 10101100 nach der Negation Komplement von 10101100 ist 11010100, -84=11010100*/System.out.println(~a=+c);c=a^b;/*105=01101001*/System.out.println(a^b=+ c );c=a>>1;/*41=00101001*/System.out.println(a>>2=+c);c=a<<1;/*166=10100110*/System.out (a<<2=+c);}}
Die Laufergebnisse sind wie folgt:
a&b=18a|b=123~a=-84a^b=105a>>2=41a<<2=166