logo

Bitwise Operator i Java

I Java, en operatør er et symbol som utfører de angitte operasjonene. I denne delen vil vi bare diskutere bitvise operatør og dens typer med riktige eksempler.

Typer Bitwise Operator

Det er seks typer av den bitvise operatoren i Java:

  • Bitvis OG
  • Bitvis eksklusiv ELLER
  • Bitvis inkluderende ELLER
  • Bitvis kompliment
  • Bit Shift-operatører
Operatører Symbol Bruker
Bitvis OG & op1 og op2
Bitvis eksklusiv ELLER ^ op1 ^ op2
Bitvis inkluderende ELLER | op1 | op2
Bitvis kompliment ~ ~ op
Bitvis venstre skift << op1 << op2
Bitvis høyre skift >> op1 >> op2
Usignert høyreskifteoperatør >>> på >>> antall plasser å skifte

La oss forklare den bitvise operatoren i detalj.

Bitvis OG (&)

Det er en binær operator angitt med symbolet & . Den returnerer 1 hvis og bare hvis begge bitene er 1, ellers returnerer den 0.

Bitwise Operator i Java

La oss bruke den bitvise AND-operatoren i et Java-program.

polymorfisme java

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)); } } 

Produksjon

 x &amp; y = 8 

Bitvis eksklusiv ELLER (^)

Det er en binær operator angitt med symbolet ^ (uttales som caret). Den returnerer 0 hvis begge bitene er like, ellers returnerer den 1.

Bitwise Operator i Java

La oss bruke den bitvise eksklusive OR-operatoren i et Java-program.

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)); } } 

Produksjon

 x ^ y = 1 

Bitvis inklusive ELLER (|)

Det er en binær operator angitt med symbolet | (uttales som en pipe). Den returnerer 1 hvis en av bitene er 1, ellers returnerer den 0.

Bitwise Operator i Java

La oss bruke den bitvis inkluderende OR-operatoren i et Java-program.

BitwiseInclusiveOrExample.java

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

Produksjon

 x | y = 9 

Bitvis komplement (~)

Det er en unær operator angitt med symbolet ~ (uttales som tilde). Den returnerer inversen eller komplementet til biten. Det gjør hver 0 til 1 og hver 1 til 0.

hva er 10 av 1 million
Bitwise Operator i Java

La oss bruke den bitvise komplementoperatoren i et Java-program.

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)); } } 

Produksjon

 ~x = -3 

Bit Shift-operatører

Skiftoperator brukes til å forskyve bitene enten til høyre eller venstre. Vi kan bruke skiftoperatorer hvis vi deler eller multipliserer et hvilket som helst tall med 2. Det generelle formatet for å skifte biten er som følger:

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

For eksempel, hvis a=10

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

Java tilbyr følgende typer skiftoperatører:

  • Signert Høyre Shift Operator eller Bitwise Right Shift Operator
  • Usignert høyreskifteoperatør
  • Signert venstre skiftoperatør eller bitvis venstre skiftoperatør

Merk: Java støtter ikke den usignerte venstreskiftoperatoren (<<<).< h4>

Signert høyreskifteoperatør (>>)

Den signerte høyre skiftoperatøren skifter et bitmønster av et tall mot Ikke sant med et spesifisert antall stillinger og fyller 0. Operatøren er angitt med symbolet >>. Den bevarer også biten lengst til venstre (tegnbit). Hvis 0 er presentert helt til venstre, betyr det at tallet er positivt . Hvis 1 er presentert helt til venstre, betyr det at tallet er negativ .

Generelt, hvis vi skriver a>>n, betyr det å flytte bitene til et tall mot høyre med en spesifisert posisjon (n). Når det gjelder matematikk, kan vi representere den signerte høyreskiftoperatøren som følger:

Bitwise Operator i Java

Merk: Når vi bruker høyre skiftoperator på et positivt tall, får vi også det positive tallet i resultatet. På samme måte, når vi bruker høyre skiftoperator på et negativt tall, får vi også det negative tallet i resultatet.

Eksempel: Bruk den signerte høyreskiftoperatøren med spesifiserte posisjoner 4 hvis x = 256 og x = -256.

Hvis x = 256

256 >> 4

256/24= 16

Hvis x = -256

-256 >> 4

-256/24= -16

I eksemplet ovenfor har vi observert at etter forskyvning konverterte operatøren 256 til 16 og -256 konverterte til -16.

rekkefølge etter tilfeldig sql

La oss lage et Java-program og implementere venstreskiftoperatøren.

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)); } } 

Produksjon

 x&gt;&gt;2 = 12 

Signert venstre skiftoperatør (<<)< strong>

Den signerte venstreskiftoperatøren (<<) shifts a bit pattern to the left. it is represented by symbol <<.< strong>Den bevarer også biten lengst til venstre (tegnbit). Det bevarer ikke skiltbiten.

Generelt, hvis vi skriver a< Bitwise Operator i Java

Eksempel 1: Hva blir resultatet etter forskyvning av a<<3. the value of a is 20.< strong>

Representasjon av 20 i binær er = 00010100

Etter å ha utført venstreskiftoperatøren får vi:

a << 3 = 10100000 (de tre siste bitene er de fylte bitene)

a << 3 = 160

La oss sjekke resultatet ved å bruke formelen.

20 << 3

eol i python

20*23= 20*8 = 160

Eksempel 2: Hva blir resultatet etter forskyvning av a<<2. the value of a is -10.< strong>

Representasjon av -10 i binær er = 11110110

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

La oss sjekke resultatet ved å bruke formelen.

-10 << 3

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

La oss lage et Java-program og implementere den signerte venstreskiftoperatøren.

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>

Produksjon

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