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.
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 & 1000 = 1000 = 8 System.out.println('x & y = ' + (x & y)); } }
Produksjon
x & 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.
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('x ^ y = ' + (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.
La oss bruke den bitvis inkluderende OR-operatoren i et Java-program.
BitwiseInclusiveOrExample.java
public class BitwiseInclusiveOrExample { public static void main(String[] args) y = ' + (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
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('~x = ' + (~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 <> number of places to shift;
For eksempel, hvis a=10
a>>2; //shifts two bits a>>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:
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('x>>2 = ' + (x >>2)); } }
Produksjon
x>>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< Eksempel 1: Hva blir resultatet etter forskyvning av a<<3. the value of a is 20.< strong> 3.> 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 20*23= 20*8 = 160 Eksempel 2: Hva blir resultatet etter forskyvning av a<<2. the value of a is -10.< strong> 2.> Representasjon av -10 i binær er = 11110110 a<<2 11011000='<strong' =>-402> 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 Produksjon eol i python
public class SignedLeftShiftOperatorExample { public static void main(String args[]) { int x = 12; System.out.println('x<<1 = ' + (x << 1)); } < pre> <p> <strong>Output</strong> </p> <pre> x<<1 24 = < pre> <h3>Unsigned Right Shift Operator (>>>)</h3> <p>It shifts a zero at the leftmost position and fills 0. It is denoted by the symbol <strong>>>>.</strong> Note that the leftmost position after >> depends on the sign bit. It does not preserve the sign bit.</p> <p> <strong>Example: If a=11110000 and b=2, find a>>>b?</strong> </p> <p>a >>> b = 11110000 >>> 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'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('x>>>2 = ' + (x >>>2)); } } </pre> <p> <strong>Output</strong> </p> <pre> x>>>2 = 5 </pre> <hr></1></pre></1>
x>>>2 = 5
1>1>