I Java, an operatör är en symbol som utför de angivna operationerna. I det här avsnittet kommer vi bara att diskutera bitvis operator och dess typer med ordentliga exempel.
Typer av Bitwise Operator
Det finns sex typer av den bitvisa operatorn i Java:
- Bitvis OCH
- Bitvis exklusivt ELLER
- Bitvis inklusive ELLER
- Bitvis komplimang
- Bitskiftsoperatörer
Operatörer | Symbol | Används |
---|---|---|
Bitvis OCH | & | op1 & op2 |
Bitvis exklusivt ELLER | ^ | op1 ^ op2 |
Bitvis inklusive ELLER | | | op1 | op2 |
Bitvis komplimang | ~ | ~ op |
Bitvis vänsterväxling | << | op1 << op2 |
Bitvis högerväxling | >> | op1 >> op2 |
Osignerad högerväxlingsoperatör | >>> på >>> | antal platser att flytta |
Låt oss förklara den bitvisa operatorn i detalj.
Bitvis OCH (&)
Det är en binär operator betecknad med symbolen & . Den returnerar 1 om och bara om båda bitarna är 1, annars returnerar den 0.
Låt oss använda den bitvisa AND-operatorn i ett Java-program.
int till strängen c++
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
Bitvis exklusivt ELLER (^)
Det är en binär operator betecknad med symbolen ^ (uttalas som caret). Den returnerar 0 om båda bitarna är lika, annars returnerar den 1.
Låt oss använda den bitvis exklusiva OR-operatorn i ett 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 är en binär operator betecknad med symbolen | (uttalas som ett rör). Den returnerar 1 om någon av bitarna är 1, annars returnerar den 0.
Låt oss använda den bitvis inkluderande OR-operatorn i ett Java-program.
BitwiseInclusiveOrExample.java
public class BitwiseInclusiveOrExample { public static void main(String[] args) y = ' + (x }
Produktion
x | y = 9
Bitvis komplement (~)
Det är en unär operator som betecknas med symbolen ~ (uttalas som tilde). Den returnerar inversen eller komplementet till biten. Det gör varje 0 till 1 och varje 1 till 0.
hur man konverterar sträng till int java
Låt oss använda den bitvisa komplementoperatorn i ett 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
Bitskiftsoperatörer
Skiftoperator används för att skifta bitarna antingen åt höger eller vänster. Vi kan använda skiftoperatorer om vi dividerar eller multiplicerar valfritt tal med 2. Det allmänna formatet för att skifta biten är som följer:
variable <> number of places to shift;
Till exempel, om a=10
a>>2; //shifts two bits a>>4; //shifts 4 bits
Java tillhandahåller följande typer av skiftoperatorer:
- Signerad högerväxlingsoperatör eller bitvis högerväxlingsoperatör
- Osignerad högerväxlingsoperatör
- Signerad Vänsterväxlingsoperatör eller Bitvis Vänsterväxlingsoperatör
Obs: Java stöder inte den osignerade vänsterskiftsoperatorn (<<<).< h4> Signerad högerväxlingsoperatör (>>)
Den undertecknade högerväxlingsoperatören flyttar ett bitmönster av ett nummer mot höger med ett specificerat antal positioner och fyller 0. Operatören betecknas med symbolen >>. Den bevarar också biten längst till vänster (teckenbit). Om 0 visas längst till vänster, betyder det att numret är positiv . Om 1 visas längst till vänster, betyder det att numret är negativ .
I allmänhet, om vi skriver a>>n, betyder det att skifta bitarna av ett tal åt höger med en specificerad position (n). I termer av matematik kan vi representera den signerade högerskiftsoperatören enligt följande:
Obs: När vi tillämpar högerskiftsoperator på ett positivt tal får vi också det positiva talet i resultatet. På liknande sätt, när vi tillämpar högerskiftoperator på ett negativt tal, får vi också det negativa talet i resultatet.
Exempel: Använd den signerade högerskiftsoperatören med specificerade positioner 4 om x = 256 och x = -256.
Om x = 256
256 >> 4
256/24= 16
Om x = -256
-256 >> 4
ändra namn katalog linux
-256/24= -16
I exemplet ovan har vi observerat att efter växling omvandlas operatören 256 till 16 och -256 omvandlas till -16.
Låt oss skapa ett Java-program och implementera vänsterskiftsoperatö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
Signerad vänster växeloperatör (<<)< strong> )<>
Den undertecknade vänsterskiftsoperatören (<<) shifts a bit pattern to the left. it is represented by symbol <<.< strong>Den bevarar också biten längst till vänster (teckenbit). Det bevarar inte skyltbiten.)>
I allmänhet, om vi skriver a< Exempel 1: Vad blir resultatet efter att ha flyttat a<<3. the value of a is 20.< strong> 3.> Representation av 20 i binär är = 00010100 Efter att ha utfört vänster skiftoperatör får vi: a << 3 = 10100000 (de tre sista bitarna är de fyllda bitarna) a << 3 = 160 Låt oss kontrollera resultatet genom att använda formeln. 20 << 3 20*23= 20*8 = 160 Exempel 2: Vad blir resultatet efter att ha flyttat a<<2. the value of a is -10.< strong> 2.> Representation av -10 i binär är = 11110110 a<<2 11011000='<strong' =>-402> Låt oss kontrollera resultatet genom att använda formeln. -10 << 3 -10*22= -10*4 = -40 Låt oss skapa ett Java-program och implementera den signerade vänsterskiftsoperatören. SignedLeftShiftOperatorExample.java Produktion gimp ändra färg
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>