logo

Bitni operater v Javi

V Javi je an operater je simbol, ki izvaja določene operacije. V tem razdelku bomo obravnavali samo bitni operator in njegove vrste z ustreznimi primeri.

Vrste bitnega operaterja

V Javi je šest vrst bitnih operatorjev:

  • Bitno IN
  • Bitno izključujoč ALI
  • Bitno vključujoč ALI
  • Bitni kompliment
  • Operatorji bitnega premika
Operaterji Simbol Uporabe
Bitno IN & op1 & op2
Bitno izključujoč ALI ^ op1 ^ op2
Bitno vključujoč ALI | op1 | op2
Bitni kompliment ~ ~ op
Bitni premik v levo << op1 << op2
Bitni premik v desno >> op1 >> op2
Nepodpisani operator desnega premika >>> na >>> število mest za premik

Podrobno razložimo bitni operator.

Bitno IN (&)

Je binarni operator, označen s simbolom & . Vrne 1, če in samo če sta oba bita 1, sicer vrne 0.

Bitni operater v Javi

Uporabimo bitni operator IN v programu Java.

kaj to pomeni xd

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

Izhod

 x &amp; y = 8 

Bitno izključujoči ALI (^)

Je binarni operator, označen s simbolom ^ (izgovarja se kot kazalec). Če sta oba bita enaka, vrne 0, sicer vrne 1.

Bitni operater v Javi

Uporabimo bitni izključni operator ALI v programu Java.

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

Izhod

 x ^ y = 1 

Bitno vključujoče ALI (|)

Je binarni operator, označen s simbolom | (izgovarja se kot cev). Vrne 1, če je kateri koli od bitov 1, sicer vrne 0.

Bitni operater v Javi

Uporabimo bitni inkluzivni operator ALI v programu Java.

BitwiseInclusiveOrExample.java

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

Izhod

 x | y = 9 

Bitni komplement (~)

Je unarni operator, označen s simbolom ~ (izgovarja se kot tilda). Vrne inverzijo ali komplement bita. Vsaka 0 je 1 in vsaka 1 je 0.

omejitve e-bančništva
Bitni operater v Javi

Uporabimo operator bitnega komplementa v programu Java.

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

Izhod

 ~x = -3 

Operatorji bitnega premika

Operator premika se uporablja za premikanje bitov desno ali levo. Operatorje premika lahko uporabimo, če poljubno število delimo ali pomnožimo z 2. Splošni format za premik bita je naslednji:

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

Na primer, če je a=10

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

Java ponuja naslednje vrste operaterjev premika:

  • Operator desnega premika s predznakom ali bitni operator desnega premika
  • Nepodpisani operator desnega premika
  • Predznačeni levi operator ali bitni levi operator

Opomba: Java ne podpira nepodpisanega operatorja levega premika (<<<).< h4>

Podpisani operator desnega premika (>>)

Operator podpisanega desnega premika premakne bitni vzorec števila proti prav z določenim številom pozicij in zapolni 0. Operator je označen s simbolom >>. Ohrani tudi skrajni levi bit (bit predznaka). če 0 je prikazano na skrajnem levem bitu, to pomeni, da je število pozitivno . če 1 je prikazano na skrajnem levem bitu, to pomeni, da je število negativno .

Na splošno, če zapišemo a>>n, to pomeni premik bitov števila proti desni z določenim položajem (n). Z matematičnega vidika lahko predstavimo operator desnega premika s predznakom na naslednji način:

Bitni operater v Javi

Opomba: Ko uporabimo operator desnega premika na pozitivno število, dobimo pozitivno število tudi v rezultatu. Podobno, ko uporabimo operator desnega premika na negativno število, dobimo negativno število tudi v rezultatu.

Primer: uporabite predpisani operator desnega premika z določenimi položaji 4, če je x = 256 in x = -256.

Če je x = 256

256 >> 4

256/24= 16

Če je x = -256

-256 >> 4

-256/24= -16

V zgornjem primeru smo opazili, da se je po prestavitvi operator 256 pretvoril v 16, -256 pa v -16.

Ustvarimo program Java in implementirajmo levi operater premika.

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

Izhod

 x&gt;&gt;2 = 12 

Podpisani levi operator premika (<<)< strong>

Podpisani levi operator premika (<<) shifts a bit pattern to the left. it is represented by symbol <<.< strong>Ohrani tudi skrajni levi bit (bit predznaka). Predznakovnega bita ne ohrani.

Na splošno, če napišemo a< Bitni operater v Javi

Primer 1: Kakšen bo rezultat po prestavitvi a<<3. the value of a is 20.< strong>

Predstavitev 20 v binarni obliki je = 00010100

kako pretvoriti niz v char

Po izvedbi levega operaterja premika dobimo:

a << 3 = 10100000 (zadnji trije biti so zapolnjeni biti)

a << 3 = 160

Preverimo rezultat s pomočjo formule.

20 << 3

20*23= 20*8 = 160

Primer 2: Kakšen bo rezultat po prestavitvi a<<2. the value of a is -10.< strong>

Predstavitev -10 v binarni obliki je = 11110110

ymail

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

Preverimo rezultat s pomočjo formule.

-10 << 3

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

Ustvarimo program Java in implementirajmo podpisani levi operator premika.

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>

Izhod

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