C# Bitsel Sola Kaydırma (<<) Operatörü

C Bitsel Sola Kaydirma Operatoru



C# programlamada, bit seviyesindeki işlemleri gerçekleştirmek için Bitwise operatörlerini kullanabiliriz. Toplama, çıkarma, çarpma veya bölme gibi aritmetik işlemleri gerçekleştirdiğimiz zaman bit seviyesi hesaplaması CPU'da yapılır. C# programlamada da Bitwise işlemlerini yapabiliriz ve süreç basittir. Bitwise operatörleri, verilen değer üzerinde bir işlem gerçekleştirir. Kaydırılacak bit sayısı da belirtilir. C# dilinde altı Bitwise işleci vardır, bunlardan ikisi kaydırma işlecidir.

Tartışma konumuz vardiya operatörleri ile ilgili. Bitwise sola kaydırma operatörü (<<) ayrıntılı olarak açıklanacaktır. Adından da anlaşılacağı gibi kaydırma operatörü, biti belirtilen konumdan sola veya sağa kaydırır. Bitsel sola kaydırma operatörü (<<) kullanılırken, değer belirtilen bit sayısı kadar sola kaydırılır. Sola kaydırma işleçleri girişi yalnızca int (tamsayı), uint (işaretsiz tamsayı), uzun (uzun tamsayı) ve ulong (işaretsiz uzun tamsayı) cinsinden alır. Sol işlenen farklı bir türe ait olduğunda, tamsayı türüne dönüştürülür. Ortaya çıkan değerin veri tipi 32 bitlik bir limiti korur; çıktı bundan daha büyük olamaz. Bitsel operatörler, kodu verimli ve hızlı hale getirir. Ayrıca, daha fazla doğruluk ve kesinlik sunarlar.

Sözdizimi:

İşlenen_1 << İşlenen_2







İlk “İşlenen_1”, “İşlenen_2”nin içerdiği kaydırma sayısına soldan kaydırılan değerdir. Soldaki << sembolü 'İşlenen_1'i kaydırır.



Örnek 1:

Bu programda tamsayı değerlerine Bitwise sola kaydırma operatörü (<<) uygulanır.



Sistemi kullanarak;

sınıf Programı_1
{
statik boşluk Ana ( ) {
int Değer_0 = 3. 4 ;
int Değer_1 = 65 ;
int res = Değer_0 << Değer_1;
Konsol.Yaz ( 'Sola kaydırma  ' ) ;
Konsol.Yaz ( res ) ;
}
}

İlk ifade, iki tamsayı tipi değişkenin bildirimini ve başlatılmasını içerir. İlk değişken 'Değer_0' ve ikinci değişken 'Değer_1'. İçlerinde saklanan değerler “34” ve “65”tir. Sola kaydırma operatörünü (<<) kullanarak 34 değerini sola kaydırdık. Ardından, sonucu kaydetmek için tamsayı veri tipine sahip başka bir değişken bildiririz. Burada, sola kaydırma operatörünü (<<) Value_0 << Value_1 olarak kullanıyoruz. Bu operatör sol, sol işlenenin sol değerini ikinci işlenende verilen değer kadar kaydırır. “res” kaydırma operatörünün çıktısını saklar. Bundan sonra, 'Sola kaydırma' metnini ve terminalde 'res' içinde depolanan sonuç değerini yazdırmak için Console.Write() yöntemini çağırıyoruz.





Örnek 2:

İşaretsiz tamsayı değerleri üzerinde sola kaydırma operatörünü kullanalım ve çıktıyı nasıl ürettiklerini görelim.



Sistemi kullanarak;

sınıf Programı_2
{
statik boşluk Ana ( ) {
uint Val_0 = 4435 ;
int  Değer_1 = 64 ;
uint sonuç = Val_0 << değer_1;
Konsol.Yaz ( 'Sola kaydırma' ) ;
Konsol.Yaz ( sonuç ) ;
}
}

Burada işaretsiz tamsayı tipi değerine sola kaydırma operatörünü uyguluyoruz. Dikkat etmeniz gereken bir şey, ikinci işlenenin bir tamsayı türü değer olması gerektiğidir, çünkü derleyici kaydırmak için yalnızca bir tamsayı değeri alır.

Statik void Main() işlevini çağırdıktan sonra, biri işaretsiz tamsayı değeri olan “Val_0” ve diğeri “Val_1” tamsayı değeri olan iki değişken bildiririz. Ardından, işaretsiz tamsayıyı sola kaydırdıktan sonra bileşke değeri korumak için “result” olan başka bir işaretsiz tamsayı değişkeni tanımlarız. Sonucu bir tamsayı tipi değişkende saklayamayız çünkü sola kaydırmadan sonra sonuç işaretsiz bir değerdir. “Val_0 << Val_1” ifadesi, işaretsiz bir tamsayı değeri olan sol işleneni sola kaydırır. İşaretsiz bir tamsayı değeri üretir. Sonunda, Console.Write() yöntemini kullanarak 'Sola kaydırma' metniyle sonucu çıktı ekranında gösterin:

Örnek 3:

Bu örnekte, uzun tamsayı değerlerinde Bitwise sola kaydırma operatörünü (<<) kullanmanın farklı yöntemlerinden bahsedeceğiz.

Sistemi kullanarak;

sınıf Programı_3
{
statik boşluk Ana ( ) {
uzun sayı_0 = Dört beş ;
uzun sayı_1 = 5 ;

Konsol.Yaz ( 'Uzunun sola kaydırması' ) ;
Konsol.WriteLine ( sayı_0 << 3 ) ;
Konsol.Yaz ( 'Uzunun sola kaydırması' ) ;
Konsol.Yaz ( sayı_0 << Convert.ToInt16 ( 1 numara ) ) ;
}
}

İki uzun tamsayı tipi değişkenin, 'number_0' ve 'number_1' başlatması, ilk ifadede yapılır. 'The left shift of long' mesajını ve terminaldeki sonucu temsil etmesi için Console.Write() işlevini çağırın. Burada sola kaydırma operatörünü (<<), birinci işleneni birinci değişken ve ikinci işleneni bir tamsayı değeri olarak yerleştirecek şekilde uyguluyoruz. Derleyici sola, “number_0” olan ilk işleneni 3 kaydırır ve sonucu görüntüler. Bir sonraki ifadede Console.Write() yöntemini kullanarak ekrana başka bir mesaj yazdırın. Burada, birinci işlenen olarak ilk değişken olan “sayı_0”ı ve ikinci işlenen olarak ikinci değişken olan “sayı_1”i kullanıyoruz. İkinci işlenen bir tamsayı tipi değer olmalıdır. Convert.ToInt16() fonksiyonunu kullanarak ikinci değişken olan “sayı_1”i tamsayı tipine yazıyoruz. Ardından sonucu konsolda görüntüleyin:

Örnek 4:

Bu kod, unsigned long operatöründe sola kaydırma yaptıktan sonra değerleri bir tamsayıya nasıl atayabileceğimizi gösterir.

Sistemi kullanarak;

sınıf Programı_4
{
statik boşluk Ana ( ) {
kafa numarası_0 = 445 ;

Konsol.Yaz ( 'Ulong'un sola kayması' ) ;
Konsol.WriteLine ( sayı_0 << 8 ) ;
Konsol.Yaz ( 'Ulong'un sola kayması' ) ;
Konsol.WriteLine ( sayı_0 << 16 ) ;
Konsol.Yaz ( 'Ulong'un sola kayması' ) ;
Konsol.WriteLine ( sayı_0 << 32 ) ;

}
}

İlk olarak, 'number_0' olan bir işaretsiz uzun tamsayı türü değişkeni bildirin. Ardından, Console.Write() yöntemini çağırarak terminalde 'Ulong'un sola kaydırması' metnini gösterin. “0_sayısı”nın sola kaydırmasını 8 tamsayı değeri ile bulacağız ve sonucu herhangi bir yerde saklamamıza gerek yok. Console.WriteLine() işlevi, sonucu konsolda yazdırır. Bu işlemi iki kez tekrarlayın ve ikinci işlenenin değerlerini değiştirin. Bunu yaparak, uzun işaretsiz bir tamsayı tipi değerin sola kaydırmasını bulabiliriz. Ancak sonucu bir değişkende saklamak istiyorsak, sonucun ilk işlenenle aynı tür olduğunu aklımızda tutmalıyız. Console.Write() ve Console.WriteLine() arasındaki tek fark, ikinci işlevin sonucu yazdırıp imleci bir sonraki satıra göndermesi, birinci işlevin ise yalnızca sonucu yazdırması ve imlecin aynı satırda yanıp sönmesidir. çıktıyı gösteriyor.

Çözüm

C#'daki Bitwise işleçlerini, türlerini ve işlevlerini inceledik. Sayıyı veya değeri belirli sayıda bit sola kaydırmak için sola kaydırma (<<) operatörü uygulanır. Bitwise operatörleri, kodun verimliliğini artırır ve hafif operatörler oldukları için sisteme yük olmaz. CPU'muz (bilgisayar işlem birimi), herhangi bir aritmetik işlem yaptığımızda Bitwise düzeyinde çalışır. Özetle, Bitwise operatörleri programlamada önemlidir ve C#, sola kaydırma operatörünün (<<) bunlardan biri olduğu tüm Bitwise operatörlerini destekler.