I Java, en operatør er et symbol, der udfører de angivne handlinger. I dette afsnit vil vi kun diskutere bitvise operator og dens typer med rigtige eksempler.
Typer af Bitwise Operator
Der er seks typer af den bitvise operator i Java:
- Bitvis OG
- Bitvis eksklusiv ELLER
- Bitvis inklusive ELLER
- Bitwise kompliment
- Bit Shift-operatører
Operatører | Symbol | Bruger |
---|---|---|
Bitvis OG | & | op1 og op2 |
Bitvis eksklusiv ELLER | ^ | op1 ^ op2 |
Bitvis inklusive ELLER | | | op1 | op2 |
Bitwise kompliment | ~ | ~ op |
Bitvist venstreskift | << | op1 << op2 |
Bitvist højreskift | >> | op1 >> op2 |
Usigneret højreskifteoperatør | >>> på >>> | antal pladser at skifte |
Lad os forklare den bitvise operator i detaljer.
Bitvis OG (&)
Det er en binær operator angivet med symbolet & . Det returnerer 1, hvis og kun hvis begge bits er 1, ellers returnerer det 0.
Lad os bruge den bitvise AND-operator i et Java-program.
kompatibilitetstest
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)); } }
Produktion
x & y = 8
Bitvist eksklusiv ELLER (^)
Det er en binær operator angivet med symbolet ^ (udtales som caret). Den returnerer 0, hvis begge bits er ens, ellers returnerer den 1.
Lad os bruge den bitvise eksklusive OR-operator 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)); } }
Produktion
x ^ y = 1
Bitvis inklusive ELLER (|)
Det er en binær operator angivet med symbolet | (udtales som et rør). Den returnerer 1, hvis en af bitene er 1, ellers returnerer den 0.
Lad os bruge den bitvis inkluderende OR-operator i et Java-program.
BitwiseInclusiveOrExample.java
public class BitwiseInclusiveOrExample { public static void main(String[] args) y = ' + (x }
Produktion
x | y = 9
Bitvist komplement (~)
Det er en unær operator angivet med symbolet ~ (udtales som tilde). Det returnerer den omvendte eller komplementære af bit. Det gør hver 0 til 1 og hver 1 til 0.
string.valueof
Lad os bruge den bitvise komplementoperator 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)); } }
Produktion
~x = -3
Bit Shift-operatører
Skiftoperator bruges til at flytte bits enten til højre eller venstre. Vi kan bruge skiftoperatorer, hvis vi dividerer eller multiplicerer et hvilket som helst tal med 2. Det generelle format til at skifte bit 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 tilbyder følgende typer skiftoperatorer:
- Signeret højreskifteoperatør eller Bitwise Right Shift-operatør
- Usigneret højreskifteoperatør
- Signeret venstreskifteoperatør eller bitvis venstreskifteoperatør
Bemærk: Java understøtter ikke den usignerede venstreskiftoperator (<<<).< h4> Signeret højreskifteoperatør (>>)
Den signerede højreskifteoperatør skifter et bitmønster af et tal mod højre med et specificeret antal positioner og fylder 0. Operatøren er angivet med symbolet >>. Den bevarer også biten længst til venstre (tegnbit). Hvis 0 vises længst til venstre, betyder det, at tallet er positiv . Hvis 1 vises længst til venstre, betyder det, at tallet er negativ .
Generelt, hvis vi skriver a>>n, betyder det at flytte bits af et tal mod højre med en specificeret position (n). Med hensyn til matematik kan vi repræsentere den fortegnede højreskifteoperatør som følger:
Bemærk: Når vi anvender højreskiftoperator på et positivt tal, får vi også det positive tal i resultatet. På samme måde, når vi anvender højre skiftoperator på et negativt tal, får vi også det negative tal i resultatet.
Eksempel: Anvend den signerede højreskiftoperator med specificerede positioner 4, hvis x = 256 og x = -256.
Hvis x = 256
256 >> 4
256/24= 16
Hvis x = -256
-256 >> 4
-256/24= -16
I ovenstående eksempel har vi observeret, at efter skift konverterede operatøren 256 til 16 og -256 konverterede til -16.
cdr fuld form
Lad os oprette et Java-program og implementere venstreskiftsoperatøren.
SignedRightShiftOperatorExample.java
public class SignedRightShiftOperatorExample { public static void main(String args[]) { int x = 50; System.out.println('x>>2 = ' + (x >>2)); } }
Produktion
x>>2 = 12
Signeret venstreskifteoperatør (<<)< strong> )<>
Den underskrevne venstreskiftsoperatør (<<) shifts a bit pattern to the left. it is represented by symbol <<.< strong>Det bevarer også bit længst til venstre (tegnbit). Det bevarer ikke skiltet.)>
Generelt, hvis vi skriver a< Eksempel 1: Hvad bliver resultatet efter forskydning af a<<3. the value of a is 20.< strong> 3.> Repræsentation af 20 i binær er = 00010100 Efter at have udført venstreskifteoperatøren får vi: a << 3 = 10100000 (sidste tre bits er de udfyldte bits) a << 3 = 160 Lad os tjekke resultatet ved at bruge formlen. 20 << 3 20*23= 20*8 = 160 Eksempel 2: Hvad bliver resultatet efter forskydning af a<<2. the value of a is -10.< strong> 2.> Repræsentation af -10 i binær er = 11110110 a<<2 11011000='<strong' =>-402> Lad os tjekke resultatet ved at bruge formlen. -10 << 3 -10*22= -10*4 = -40 Lad os oprette et Java-program og implementere den signerede venstreskiftsoperatør. SignedLeftShiftOperatorExample.java Produktion python chr funktion
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>