logo

Java'da Bitsel Operatör

Java'da bir Şebeke belirtilen işlemleri gerçekleştiren bir semboldür. Bu bölümde sadece konuyu ele alacağız. bitsel operatör ve türleri doğru örneklerle.

Bitsel Operatör Türleri

Java'da bitsel operatörün altı türü vardır:

  • Bitsel VE
  • Bit bazında özel VEYA
  • Bit bazında dahil VEYA
  • Bitsel İltifat
  • Bit Kaydırma Operatörleri
Operatörler Sembol Kullanım Alanları
Bitsel VE & op1 ve op2
Bit bazında özel VEYA ^ işlem1 ^ işlem2
Bit bazında dahil VEYA | işlem1 | işlem2
Bitsel İltifat ~ ~ işlem
Bit bazında sola kaydırma << işlem1 << işlem2
Bit bazında sağa kaydırma >> işlem1 >> işlem2
İmzasız Sağa Shift Operatörü >>> üzerinde >>> kaydırılacak yer sayısı

Bitsel operatörünü detaylı olarak açıklayalım.

Bit bazında VE (&)

sembolüyle gösterilen ikili bir operatördür. & . Yalnızca her iki bit de 1 ise 1 değerini döndürür, aksi takdirde 0 değerini döndürür.

Java'da Bitsel Operatör

Bir Java programında bitsel AND operatörünü kullanalım.

her biri daktilo

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

Çıktı

 x &amp; y = 8 

Bit bazında özel VEYA (^)

sembolüyle gösterilen ikili bir operatördür. ^ (şapka olarak telaffuz edilir). Her iki bit de aynı ise 0, aksi durumda 1 değerini döndürür.

Java'da Bitsel Operatör

Bir Java programında bit düzeyinde özel OR operatörünü kullanalım.

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

Çıktı

 x ^ y = 1 

Bit bazında dahil VEYA (|)

sembolüyle gösterilen ikili bir operatördür. | (boru olarak telaffuz edilir). Bitlerden herhangi biri 1 ise 1 değerini döndürür, aksi halde 0 değerini döndürür.

Java'da Bitsel Operatör

Bir Java programında bitsel kapsayıcı OR operatörünü kullanalım.

BitwiseInclusiveOrExample.java

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

Çıktı

 x | y = 9 

Bitsel Tamamlayıcı (~)

sembolüyle gösterilen tekli bir operatördür. ~ (tilde olarak telaffuz edilir). Bitin tersini veya tümleyenini döndürür. Her 0'ı 1 ve her 1'i 0 yapar.

string.valueof
Java'da Bitsel Operatör

Bir Java programında bitsel tümleyen operatörünü kullanalım.

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

Çıktı

 ~x = -3 

Bit Kaydırma Operatörleri

Kaydırma operatörü, bitlerin sağa veya sola kaydırılmasında kullanılır. Herhangi bir sayıyı 2'ye bölmek veya çarpmak durumunda kaydırma operatörlerini kullanabiliriz. Biti kaydırmanın genel formatı aşağıdaki gibidir:

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

Örneğin, eğer a=10 ise

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

Java aşağıdaki kaydırma operatör türlerini sağlar:

  • İmzalı Sağa Kaydırma Operatörü veya Bitsel Sağa Kaydırma Operatörü
  • İmzasız Sağa Shift Operatörü
  • İmzalı Sola Kaydırma Operatörü veya Bitsel Sola Kaydırma Operatörü

Not: Java imzasız sola kaydırma operatörünü desteklemez (<<<).< h4>

İmzalı Sağa Kaydırma Operatörü (>>)

İmzalı sağa kaydırma operatörü, bir sayının bit modelini sayıya doğru kaydırır. Sağ belirli sayıda konumla ve 0'ı doldurur. Operatör sembolüyle gösterilir >>. Aynı zamanda en soldaki biti (işaret biti) de korur. Eğer 0 en soldaki bitte sunulur, bu sayının olduğu anlamına gelir pozitif . Eğer 1 en soldaki bitte sunulur, bu sayının olduğu anlamına gelir olumsuz .

Genel olarak a>>n yazarsak bu, bir sayının bitlerinin belirtilen konum (n) ile sağa doğru kaydırılması anlamına gelir. Matematiksel açıdan işaretli sağa kaydırma operatörünü şu şekilde temsil edebiliriz:

Java'da Bitsel Operatör

Not: Pozitif bir sayıya sağa kaydırma operatörünü uyguladığımızda sonuçta da pozitif sayıyı elde ederiz. Benzer şekilde negatif bir sayıya sağa kaydırma operatörünü uyguladığımızda sonuçta da negatif sayıyı elde ederiz.

Örnek: x = 256 ve x = -256 ise işaretli sağa kaydırma operatörünü belirtilen 4 konumlarına uygulayın.

Eğer x = 256 ise

256 >> 4

256/24= 16

Eğer x = -256 ise

-256 >> 4

-256/24= -16

Yukarıdaki örnekte, 256 operatörünün kaydırıldıktan sonra 16'ya ve -256'nın -16'ya dönüştürüldüğünü gözlemledik.

Bir Java programı oluşturalım ve sola kaydırma operatörünü uygulayalım.

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

Çıktı

 x&gt;&gt;2 = 12 

İmzalı Sola Kaydırma Operatörü (<<)< strong>

İmzalı sola kaydırma operatörü (<<) shifts a bit pattern to the left. it is represented by symbol <<.< strong>Aynı zamanda en soldaki biti (işaret biti) de korur. İşaret bitini korumaz.

Genel olarak bir < yazarsak Java'da Bitsel Operatör

Örnek 1: a< kaydırıldıktan sonra sonuç ne olacak?<3. the value of a is 20.< strong>

anaconda vs piton yılanı

20'nin ikili sistemde gösterimi = 00010100

Sola kaydırma operatörünü gerçekleştirdikten sonra şunu elde ederiz:

a << 3 = 10100000 (son üç bit doldurulmuş bitlerdir)

bir << 3 = 160

Formülü kullanarak sonucu kontrol edelim.

20 << 3

20*23= 20*8 = 160

Örnek 2: a< kaydırıldıktan sonra sonuç ne olacak?<2. the value of a is -10.< strong>

-10'un ikili sistemde gösterimi = 11110110

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

Formülü kullanarak sonucu kontrol edelim.

-10 << 3

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

Bir Java programı oluşturalım ve imzalı sola kaydırma operatörünü uygulayalım.

SignedLeftShiftOperatorExample.java

hızlı sıralama 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>

Çıktı

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