Java SE Ders08 - Bit Tabanlı Operatörler
Bit tabanlı operatörler sayıların ikili tabandaki karşılıklarını bit bit ele alır. Örneğin, 10 ve 12 sayılarını AND (VE) işlemine soktuğumuzda 10 sayısının ikili tabandaki karşılığı 12 sayısının ikili tabandaki karşılığı ile bit bit karşılaştırılır ve bit bit karşılaştırılma sonucunda elde edilen ikili tabandaki sayının değeri bizim sonucumuz olur.
Bit tabanlı operatörleri açıklayan tablo aşağıda verilmiştir.
Operatör
|
Anlamı
|
Açıklaması
|
&
|
Bit
tabanlı VE
|
İki
sayının ikilik tabanda birbirine karşılık düşen her bitini ve (&)
işlemine sokarak bir sonuç elde eder.
|
|
|
Bit
tabanlı VEYA
|
İki
sayının ikilik tabanda birbirine karşılık düşen her bitini veya (|) işlemine
sokarak bir sonuç elde eder.
|
^
|
Bit
tabanlı XOR
|
İki
sayının ikilik tabanda birbirine karşılık düşen her bitini özel veya (^)
işlemine sokarak bir sonuç elde eder.
|
>>
|
Sağa
kaydırma
|
Bir sayının
ikilik tabandaki karşılığını bir basamak sağa kaydırır. İkilik tabanda 2 ile
bölme olarak da adlandırılabilir.
|
<<
|
Sola
kaydırma
|
Bir sayının
ikilik tabandaki karşılığını bir basamak sağa kaydırır. İkilik tabanda 2 ile çarpma
olarak da adlandırılabilir
|
~
|
Tümleyen
|
Bir
sayının ikilik tabandaki karşılığındaki her bitini tersler. Yani 1 olan
bitleri 0, 0 olan bitleri 1 yapar.
|
Bit tabanlı operatörlere bir örnek yapalım.
Main.java
package test; public class Main { public static void main(String[] args) { System.out.println(" 01010 & 01100 = 01000 = "+(10 & 12)); // 01010 & 01100 = 01000 = 8 System.out.println(" 01010 | 01100 = 01110 = "+(10 | 12)); // 01010 | 01100 = 01110 = 14 System.out.println(" 01010 ^ 01100 = 00110 = "+(10 ^ 12)); // 01010 ^ 01100 = 00110 = 6 System.out.println(" 01010 --1--> 00101 = "+(10 >> 1)); // 01010 --1--> 00101 = 5 System.out.println(" 01010 --2--> 00010 = "+(10 >> 2)); // 01010 --2--> 00010 = 2 System.out.println(" 01010 --1--> 010100 = "+(10 << 1)); // 01010 --1--> 010100 = 20 System.out.println(" 01010 --2--> 0101000 = "+(10 << 2)); // 01010 --2--> 0101000 = 40 System.out.println("~ 01010 = 10101 = " +(~10)); // ~ 01010 = 10101 = -11 } }
Yorumlar
Yorum Gönder