Java'da Bitsel Operatör Nedir? ve Sınıflandırılması (Örneklerle)

Yayınlanan: 2021-05-20

Java, Hindistan'daki en baskın programlama dillerinden biridir ve pazar payının yaklaşık yüzde 20'sine hakimdir . Java'daki bitsel operatör , her seferinde bir tane alınan bağımsız bitler üzerinde belirli bir işlemi gerçekleştiren bir sembol/gösterimdir. Bir ikili sayının tek tek bitlerini işlemek için kullanılır ve çeşitli tamsayı türleri ile kullanılabilir – char, int, uzun, kısa, bayt.

Java'daki bir bitsel operatör genel olarak 7 türe ayrılabilir:

Java'da Bitsel Operatör sembol Tanım
bit düzeyinde VE | Sadece ve ancak her iki işlenende de mevcutsa, sonuçtaki bir biti korur.
Bit düzeyinde VEYA & İki işlenenden birinde varsa biraz korur.
Bitsel XOR ^ Yalnızca bir işlenende mevcutsa, her ikisinde birden yoksa biraz korur.
Bitsel TAMAMLAMA ~ 1'in tamamlayıcısı olarak da bilinir. Sadece işlenenin bitlerini tersine çevirin.
Bitsel SOL SHIFT << Sol işlenendeki bitler, sağ işlenende belirtilen yer sayısı kadar sola kaydırılır.
İMZALANMIŞ SAĞ SHIFT >> Sol işlenendeki bitler, sağ işlenende belirtilen yer sayısı kadar sağa kaydırılır.
İMZASIZ SAĞ VİTES >>> Aynen İMZALANMIŞ SAĞ KAYDIRMA artı kaydırılan bitler sıfır ile doldurulur.

Şimdi Java'daki her bir bitsel operatörü ayrıntılı olarak inceleyelim:

İçindekiler

1. VEYA (A | B)

Doğruluk tablosu

A B Çıktı
0 0 0
0 1 1
1 0 1
1 1 1

Örnek vermek

A = 1011 1110

B = 0011 0101

bir | B = 1011 1111

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int işlenen1 = 190, işlenen2 = 53, çıkış;

// bit düzeyinde VEYA 190 ile 53 arasında

çıktı = işlenen1 | işlenen2;

System.out.println(çıktı); // program çıktıları 191

}

}

2. VE (A ve B)

Doğruluk tablosu

A B Çıktı
0 0 0
0 1 0
1 0 0
1 1 1

Örnek vermek

A = 1011 1110

B = 0011 0101

A & B = 0011 0100

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int işlenen1 = 190, işlenen2 = 53, çıkış;

// bit düzeyinde VEYA 190 ile 53 arasında

çıktı = işlenen1 | işlenen2;

System.out.println(çıktı); // program çıktıları 52

}

}

  1. DAHİL VEYA / XOR (A ^ B)

Doğruluk tablosu

A B Çıktı
0 0 0
0 1 1
1 0 1
1 1 0

Örnek vermek

A = 1011 1110

B = 0011 0101

A ^ B = 1000 0011

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int işlenen1 = 190, işlenen2 = 53, çıkış;

// bit düzeyinde VEYA 190 ile 53 arasında

çıktı = işlenen1 | işlenen2;

System.out.println(çıktı); // program çıktıları 131

}

}

3. TAMAMLAMA (A ~ B)

Ondalık olarak, bir A sayısının bit düzeyinde tümleyeni – (A+1)'dir. Bununla birlikte, ikili alanda, istenen çıktıyı elde etmek için önce 1'in tümleyenini hesaplamamız ve ardından 2'nin tümleyenine dönüştürmemiz gerekir.

1'in Tamamlayıcısı – Sadece bitleri ters çevirin. Örneğin:

A = 1011 1110 (190)

1'in Tamamlayıcısı A = 0100 0001

A'nın 2'nin Tümleyeni = 1'in Tümleyeni A + 1 = 0100 0010

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int operand4 = 190, çıktı;

// 190'ın bitsel tümleyeni

çıktı = ~işlenen4;

System.out.println(çıktı); // -191 yazdırır

}

}

  1. SOL SHIFT (A << 1)

Diyelim ki A = 1011 1110

bir << 1 = ?

Java'daki bu bitsel operatör , tüm bitlerin 1 sola kaydırılmasını sağlar, yani çıktı 0111 1100'dür. En soldaki bit (en anlamlı bit veya MSB) atılır ve en sağdaki boş yere 0 eklenir ( en az anlamlı bit veya LSB). Bu, sağdaki her boş yer için yapılır.

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int işlenen = 3; // ikili – 11

// 1 bit sola kaydırma işlemi

int çıktı= işlenen << 1;

System.out.println(çıktı); // 2 yazdırır

}

}

4. İMZALI SAĞ KAYDIRMA (A >>2)

Java'daki bu bitsel operatör , bit modelini belirtilen sayıda yer kadar sağa kaydırır. LSB'ler atılır ve MSB'ler işaret biti ile doldurulur. 0 pozitif bir işareti temsil ederken 1 negatif bir işareti temsil eder.

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int işlenen 1 = 2;

int işlenen2 = -2;

// 2 bit işaretli sağa kaydırma

System.out.println(işlenen1 >> 2); // 1 yazdırır

System.out.println(operand2 >> 2); // -1 yazdırır

}

}

5. İMZASIZ SAĞ KAYDIRMA (A >>>2)

Buradaki işlem, en soldaki boş bitlerin işaret bitleri yerine 0 ile değiştirilmesi dışında, SIGNED RIGHT SHIFT'e tamamen benzer.

Sözdizimi

sınıf Ana {

public static void main(String[] args) {

int işlenen = 240; // ikili sayı – 1111 0000

// 2 bit işaretsiz sağa kaydırma

System.out.println(işlenen >>> 2); // 60 yazdırır

}

}

Dünyanın En İyi Üniversitelerinden Online Yazılım Mühendisliği Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Java'da ustalaşmak ve bundan bir kariyer yapmak ister misiniz? upGrad'ın Yazılım ve Teknoloji parçasına göz atın. Full-Stack Development'ta 13 aylık Executive PG Programına kaydolun ve gerçek dünyadaki projelerle ellerinizi kirletin. Tanınmış IIIT Bangalore'a bağlı olarak, 16 programlama dili ve aracı öğrenme fırsatı ve garantili 3 iş görüşmesi elde edersiniz.

Bitsel operatörler nelerdir?

Bir bitsel operatör, işlenenlerin her bir biti üzerinde çalışır ve 1'ler ve 0'lar biçiminde bir sonuç döndürür. Bitsel operatörlerin çoğu, bit alanları oluşturmak, bir veri türünün boyutunu değiştirmek ve bir veri türünü hizalamak için kullanılabilen çeşitli maskeler yapmak için kullanılır. Bitsel operatörler, ikili bir sayı üzerinde bit bit işlem yapmak için kullanılır. Bit düzeyinde işlemlerde daha verimli olması için kullanılır. Tamsayı olmayan veri türlerinin değişkenlerinde bitsel işleci kullanamayız.

Java'daki bitsel operatör türleri nelerdir?

Java dilinde aritmetik operatörlerin yanı sıra bitsel operatörler de kullanılır. Yalnızca birkaç bit düzeyinde operatör olmasına rağmen, son derece yardımcı olabilirler. Java'da altı operatör vardır. Bunlar: Bitwise AND, Bitwise OR, Bitwise XOR, Bitwise Left Shift, Bitwise Sağ Kaydırma ve Ones Complement. Bu operatörler byte, short, int, long ve char tamsayı türlerine uygulanabilir.

Java programlama dilinin özellikleri nelerdir?

Java, genel amaçlı bir nesne yönelimli programlama dilidir. Java uygulamaları tipik olarak bayt kodunda derlenir ve ardından Java Sanal Makinesinde yürütülür. Java, çeşitli platformlarda çalışacak şekilde tasarlanmıştır. Ayrıca dağıtılmış bir bilgi işlem ortamında kullanılmak üzere tasarlanmıştır. Java programlama dilinde yazılmış bir programa Java Uygulaması veya Java Uygulama Ortamı denir. Java programlama dili güçlü ve esnek bir dildir. Java uygulamaları genellikle ortalama web uygulamasından daha büyük ve daha karmaşıktır. Java programlama dili genel amaçlı bir dildir. Herhangi bir amaç için uygulamalar oluşturmak için kullanılabilir. Çoklu kullanım, ağ oluşturma, güvenlik ve kalıcılık gibi özellikler Java'yı çok çeşitli kullanımlar için uygun hale getirir.