logo

Bitweiser Operator in Java

In Java ein Operator ist ein Symbol, das die angegebenen Operationen ausführt. In diesem Abschnitt werden wir nur das besprechen Bitweiser Operator und seine Typen mit passenden Beispielen.

Arten von bitweisen Operatoren

In Java gibt es sechs Arten des bitweisen Operators:

  • Bitweises UND
  • Bitweises Exklusiv-ODER
  • Bitweises inklusives ODER
  • Bitweises Kompliment
  • Bitverschiebungsoperatoren
Betreiber Symbol Verwendet
Bitweises UND & op1 & op2
Bitweises Exklusiv-ODER ^ op1 ^ op2
Bitweises inklusives ODER | op1 | op2
Bitweises Kompliment ~ ~ op
Bitweise Linksverschiebung << op1 << op2
Bitweise Rechtsverschiebung >> op1 >> op2
Vorzeichenloser rechter Shift-Operator >>> auf >>> Anzahl der zu verschiebenden Plätze

Lassen Sie uns den bitweisen Operator im Detail erklären.

Bitweises UND (&)

Es handelt sich um einen binären Operator, der durch das Symbol gekennzeichnet ist & . Es gibt genau dann 1 zurück, wenn beide Bits 1 sind, andernfalls wird 0 zurückgegeben.

Bitweiser Operator in Java

Lassen Sie uns den bitweisen AND-Operator in einem Java-Programm verwenden.

Was ist ein Computer

BitwiseAndExample.java

 public class BitwiseAndExample { public static void main(String[] args) { int x = 9, y = 8; // bitwise and // 1001 &amp; 1000 = 1000 = 8 System.out.println(&apos;x &amp; y = &apos; + (x &amp; y)); } } 

Ausgabe

 x &amp; y = 8 

Bitweises Exklusiv-ODER (^)

Es handelt sich um einen binären Operator, der durch das Symbol gekennzeichnet ist ^ (ausgesprochen als Caret). Es gibt 0 zurück, wenn beide Bits gleich sind, andernfalls wird 1 zurückgegeben.

Bitweiser Operator in Java

Lassen Sie uns den bitweisen Exklusiv-ODER-Operator in einem Java-Programm verwenden.

BitwiseXorExample.java

 public class BitwiseXorExample { public static void main(String[] args) { int x = 9, y = 8; // bitwise XOR // 1001 ^ 1000 = 0001 = 1 System.out.println(&apos;x ^ y = &apos; + (x ^ y)); } } 

Ausgabe

 x ^ y = 1 

Bitweises inklusives ODER (|)

Es handelt sich um einen binären Operator, der durch das Symbol gekennzeichnet ist | (ausgesprochen als Pfeife). Es gibt 1 zurück, wenn eines der Bits 1 ist, andernfalls wird 0 zurückgegeben.

Bitweiser Operator in Java

Lassen Sie uns den bitweise inklusiven ODER-Operator in einem Java-Programm verwenden.

BitwiseInclusiveOrExample.java

 public class BitwiseInclusiveOrExample { public static void main(String[] args) y = &apos; + (x } 

Ausgabe

 x | y = 9 

Bitweises Komplement (~)

Es handelt sich um einen unären Operator, der durch das Symbol gekennzeichnet ist ~ (ausgesprochen als Tilde). Es gibt die Umkehrung oder das Komplement des Bits zurück. Es macht jede 0 zu einer 1 und jede 1 zu einer 0.

Fuchs gegen Wolf
Bitweiser Operator in Java

Lassen Sie uns den bitweisen Komplementoperator in einem Java-Programm verwenden.

BitwiseComplimentExample.java

 public class BitwiseComplimentExample { public static void main(String[] args) { int x = 2; // bitwise compliment // ~0010= 1101 = -3 System.out.println(&apos;~x = &apos; + (~x)); } } 

Ausgabe

 ~x = -3 

Bitverschiebungsoperatoren

Der Schiebeoperator wird zum Verschieben der Bits nach rechts oder links verwendet. Wir können Schiebeoperatoren verwenden, wenn wir eine beliebige Zahl durch 2 dividieren oder multiplizieren. Das allgemeine Format zum Verschieben des Bits ist wie folgt:

 variable &lt;&gt; number of places to shift; 

Zum Beispiel, wenn a=10

 a&gt;&gt;2; //shifts two bits a&gt;&gt;4; //shifts 4 bits 

Java bietet die folgenden Arten von Schichtoperatoren:

  • Vorzeichenbehafteter Rechtsverschiebungsoperator oder bitweiser Rechtsverschiebungsoperator
  • Vorzeichenloser rechter Shift-Operator
  • Vorzeichenbehafteter Linksschiebeoperator oder bitweiser Linksschiebeoperator

Hinweis: Java unterstützt den vorzeichenlosen Linksverschiebungsoperator (<<) nicht<).< h4>

Vorzeichenbehafteter Rechtsverschiebungsoperator (>>)

Der vorzeichenbehaftete Rechtsverschiebungsoperator verschiebt ein Bitmuster einer Zahl in Richtung Rechts mit einer angegebenen Anzahl von Stellen und füllt 0. Der Operator wird durch das Symbol gekennzeichnet >>. Es behält auch das Bit ganz links (Vorzeichenbit) bei. Wenn 0 im Bit ganz links angezeigt wird, bedeutet dies, dass die Zahl vorhanden ist positiv . Wenn 1 im Bit ganz links angezeigt wird, bedeutet dies, dass die Zahl vorhanden ist Negativ .

Wenn wir a>>n schreiben, bedeutet dies im Allgemeinen, dass die Bits einer Zahl um eine bestimmte Position (n) nach rechts verschoben werden. In mathematischen Begriffen können wir den vorzeichenbehafteten Rechtsverschiebungsoperator wie folgt darstellen:

Bitweiser Operator in Java

Hinweis: Wenn wir den Rechtsverschiebungsoperator auf eine positive Zahl anwenden, erhalten wir auch die positive Zahl im Ergebnis. Wenn wir den Rechtsverschiebungsoperator auf eine negative Zahl anwenden, erhalten wir ebenfalls die negative Zahl im Ergebnis.

Beispiel: Wenden Sie den vorzeichenbehafteten Rechtsverschiebungsoperator mit den angegebenen Positionen 4 an, wenn x = 256 und x = -256.

Wenn x = 256

256 >> 4

256/24= 16

Wenn x = -256

String-zu-Int-Konvertierung in Java

-256 >> 4

-256/24= -16

Im obigen Beispiel haben wir beobachtet, dass nach dem Verschieben der Operator 256 in 16 und -256 in -16 umgewandelt wurde.

Lassen Sie uns ein Java-Programm erstellen und den Linksverschiebungsoperator implementieren.

SignedRightShiftOperatorExample.java

 public class SignedRightShiftOperatorExample { public static void main(String args[]) { int x = 50; System.out.println(&apos;x&gt;&gt;2 = &apos; + (x &gt;&gt;2)); } } 

Ausgabe

 x&gt;&gt;2 = 12 

Vorzeichenbehafteter linker Shift-Operator (<<)< strong>

Der vorzeichenbehaftete Linksverschiebungsoperator (<<) shifts a bit pattern to the left. it is represented by symbol <<.< strong>Es behält auch das Bit ganz links (Vorzeichenbit) bei. Das Vorzeichenbit bleibt nicht erhalten.

Im Allgemeinen schreiben wir a< Bitweiser Operator in Java

Beispiel 1: Was wird das Ergebnis sein, nachdem a< verschoben wurde?<3. the value of a is 20.< strong>

Die binäre Darstellung von 20 ist = 00010100

Nachdem wir den Linksverschiebungsoperator ausgeführt haben, erhalten wir:

a << 3 = 10100000 (die letzten drei Bits sind die gefüllten Bits)

a << 3 = 160

Überprüfen wir das Ergebnis anhand der Formel.

20 << 3

20*23= 20*8 = 160

Beispiel 2: Was wird das Ergebnis sein, nachdem a< verschoben wurde?<2. the value of a is -10.< strong>

Die binäre Darstellung von -10 ist = 11110110

a<<2 11011000='<strong' =>-40

Überprüfen wir das Ergebnis anhand der Formel.

Vereinigte Staaten, wie viele Städte

-10 << 3

-10*22= -10*4 = -40

Lassen Sie uns ein Java-Programm erstellen und den vorzeichenbehafteten Linksverschiebungsoperator implementieren.

SignedLeftShiftOperatorExample.java

 public class SignedLeftShiftOperatorExample { public static void main(String args[]) { int x = 12; System.out.println(&apos;x&lt;<1 = ' + (x << 1)); } < pre> <p> <strong>Output</strong> </p> <pre> x&lt;<1 24 = < pre> <h3>Unsigned Right Shift Operator (&gt;&gt;&gt;)</h3> <p>It shifts a zero at the leftmost position and fills 0. It is denoted by the symbol <strong>&gt;&gt;&gt;.</strong> Note that the leftmost position after &gt;&gt; depends on the sign bit. It does not preserve the sign bit.</p> <p> <strong>Example: If a=11110000 and b=2, find a&gt;&gt;&gt;b?</strong> </p> <p>a &gt;&gt;&gt; b = 11110000 &gt;&gt;&gt; 2 = <strong>00111100</strong> </p> <p>The left operand value is moved right by the number of bits specified by the right operand and the shifted bits are filled up with zeros. Excess bits shifted off to the right are discarded.</p> <p>Therefore, before shifting the bits the decimal value of a is 240, and after shifting the bits the decimal value of a is 60.</p> <p>Let&apos;s create a Java program and use the unsigned right shift operator.</p> <p> <strong>UnsignedRightShiftOperatorExample.java</strong> </p> <pre> public class UnsignedRightShiftOperatorExample { public static void main(String args[]) { int x = 20; System.out.println(&apos;x&gt;&gt;&gt;2 = &apos; + (x &gt;&gt;&gt;2)); } } </pre> <p> <strong>Output</strong> </p> <pre> x&gt;&gt;&gt;2 = 5 </pre> <hr></1></pre></1>

Ausgabe

 x&gt;&gt;&gt;2 = 5