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.
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 & 1000 = 1000 = 8 System.out.println('x & y = ' + (x & y)); } }
Çıktı
x & 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.
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('x ^ y = ' + (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.
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 = ' + (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
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('~x = ' + (~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 <> number of places to shift;
Örneğin, eğer a=10 ise
a>>2; //shifts two bits a>>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:
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('x>>2 = ' + (x >>2)); } }
Çıktı
x>>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 Örnek 1: a< kaydırıldıktan sonra sonuç ne olacak?<3. the value of a is 20.< strong> 3.> 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> 2.> -10'un ikili sistemde gösterimi = 11110110 bir <<2 11011000='<strong' =>-402> 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 Çıktı anaconda vs piton yılanı
hızlı sıralama java
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>