Altbilgi içeriğine atla
Iron Academy Logo
C# öğrenin
C# öğrenin

Diğer Kategoriler

C#'ta İkili NOT Operatörünün Anlaşılması

Tim Corey
4m 48s

C# dilinde ikili işlemler, bit seviyesi üzerinde çalışmak, performansı optimize etmek ve verilerin nasıl depolandığını ve işlendiğini anlamak için önemlidir. Bu önemli operatörlerden biri, bir sayının tüm bitlerini ters çeviren Binary NOT (~) operatörüdür. Daha derin bir anlayış kazanmak için, gelin Tim Corey'nin "Binary in C#: Binary NOT Operatörü 10 Dakikadan Daha Kısa Sürede" videosunu inceleyelim.

Binary NOT Tanıtımı

Tim Corey, bu videonun C#'ta ikili sistemi anlama üzerine bir serinin parçası olduğunu açıklayarak başlıyor. Bu özel ders, serinin yedincisi olup Binary NOT operatörü (~) üzerine odaklanmaktadır. Bu dersin hızlı olacağını, on dakikanın altında kalacağını, böylece erişilebilir ve kolay kavranabilir olacağını vurguluyor.

Kodu Kurma

Tim, başlangıç kodunu daha okunabilir hale getirmek için düzenler. İkili değerleri elle biçimlendirmek yerine, açıklığı sağlamak için sonuna bir iki nokta (:) ve bir değişken adı kullanıyor. Bu şekilde, değerin ikili gösterimi başta kalır ve karşılaştırmaları daha kolay hale getirir.

Öncelikle bir tamsayı değişkeni tanımlayarak başlar:

// Declare an integer variable and assign it the value of 1.
int value = 1;
// Declare an integer variable and assign it the value of 1.
int value = 1;

Bu, NOT operatörünün uygulanabileceği basit bir senaryo kurar.

Binary NOT Operatörünü Kullanma

Tim, ~ operatörünü tanıtıyor ve sözdizimini gösteriyor:

// Apply the Binary NOT operator to flip all bits of the integer 'value'.
int notValue = ~value;
// Apply the Binary NOT operator to flip all bits of the integer 'value'.
int notValue = ~value;

Çoğu klavyede, tildin (~) Escape tuşunun altında, 1 tuşunun yanında ve sol üst köşede bulunduğuna işaret ediyor. Bu, sıkça "Bang karakteri" olarak anılan ünlem işaretinden (!) farklıdır diye açıklıyor. Tilde, bit duyusal negatifleme işlemi yapar, oysa ünlem işareti mantıksal negatiflemede kullanılır.

Ne Yapmaz?

Tim, NOT operatörünün sayının ikili gösterimindeki tüm bitleri çevirdiğini açıklar. Bu, demek oluyor ki:

  • 1, 0 olur
  • 0 bir olur

Bir sayıya ~ uygulamak, onun bit düzeyinde tamamlayıcısını üretir. Konsol çıktısını sonucu gözlemlemek için kopyalar.

Çıktıyı Gözlemleme

Tim programı çalıştırır ve sonucun beklenenden çok daha uzun göründüğünü belirtir. Örneğin, değer = 1 ise, çıktı sadece 0 değil, uzun bir birler dizisi ve ardından ters çevrilmiş bitlerdir. ~1 için sonucun şu olduğunu belirtiyor:

// Observed output for ~1
11111111111111111111111111111110
// Observed output for ~1
11111111111111111111111111111110

Bu neden oluyor?

32-bit Temsilini Anlama

Tim, bu davranışın C#'ın 32 bit imzalı bir tamsayı (int) kullanmasından kaynaklandığını açıklar. C# dilinde int aslında Int32 olduğu için, 32 bitten oluşur. NOT işlemi gerçekleştirilirken, sadece tek bitlik 1 temsilinin değil, tüm 32 bitin tersine çevrildiğini unutmayın.

Bunu daha net hale getirmek için, çıktı formatını 32 bit olarak açıkça gösterecek şekilde ayarlar:

// Convert the result of the NOT operation to a binary string representation,
// pad it to 32 bits, and print it.
Console.WriteLine(Convert.ToString(notValue, 2).PadLeft(32, '0'));
// Convert the result of the NOT operation to a binary string representation,
// pad it to 32 bits, and print it.
Console.WriteLine(Convert.ToString(notValue, 2).PadLeft(32, '0'));

Bu, tam ikili gösterimi gösterir ve tüm bitlerin nasıl çevrildiğini görmeyi kolaylaştırır.

NOT Neden Önemli Değil?

Bu noktada, Tim şu soruya değinir: Değil (NOT) operatörü neden gereklidir? Diğer bit düzeyinde işlemler, örneğin:

  • Bit masking: Bitleri seçici bir şekilde tutma veya çıkarma. Bitleri temizleme: İkili bir sayıdaki belirli bitleri sıfırlama. Verimli hesaplamalar: Bellek ve hız için düşük seviyeli optimizasyonlar gerçekleştirmek.

Daha İleri Operasyonlar İçin Geliştirme

Tim, daha karmaşık ikili işlemlere geçmeden önce NOT gibi temel kavramların anlaşılmasının önemli olduğunu vurgular. İzleyicilere ikili işlemleri anladıklarında, bu işlemlerin ne kadar güçlü ve verimli olabileceğini göreceklerini temin ediyor. Binary manipülasyon geliştiricilere şunları sağlar:

  • Bellek kullanımını optimize edin.
  • Minimum işlem gücüyle operasyonları gerçekleştirin.
  • Sayılar içinde bireysel bitleri verimli bir şekilde kontrol edin.

Geleceğe Bakış

Tim, bir sonraki dersin belirli bitlerin temizlenmesine odaklanacağını ve NOT operatörü ile diğer bit işlemleri tekniklerini kullanacağını ima ederek bitiriyor. Bu temelleri öğrenmenin, C#'ta binary ile etkili bir şekilde çalışmak için gerekli olduğunu vurguluyor.

Sonuç

Tim Corey, C# dilinde İkili DEĞİL operatörünü net ve pratik bir şekilde açıklar. Bir sayının tüm bitlerini ters çevirerek, ~ bit seviyesinde çalışmak için temel bir araçtır. Bu operatörü anlamak, bit maskeleme ve bit kaydırma gibi daha ileri düzey ikili işlemler için temel oluşturur. Düşük seviyeli programlamaya giriyorsanız veya performans optimizasyonu yapıyorsanız, bu kavramı ustalıkla öğrenmek çok önemlidir.

Daha fazla bilgi için, Tim Corey'nin tam videosunu ve C#'ta ikili (binary) üzerine olan serisini inceleyin!

Hero Worlddot related to C#'ta İkili NOT Operatörünün Anlaşılması
Hero Affiliate related to C#'ta İkili NOT Operatörünün Anlaşılması

Sevdiğiniz Şeyleri Paylaşarak Daha Fazla Kazanın

.NET, C#, Java, Python veya Node.js ile çalışan geliştiriciler için içerik oluşturuyor musunuz? Uzmanlığınızı ek gelire dönüştürün!

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara