Earn More by Sharing What You Love
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

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.
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.
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.
Dim value As Integer = 1Bu, NOT operatörünün uygulanabileceği basit bir senaryo kurar.
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'.
Dim notValue As Integer = Not 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.
Tim, NOT operatörünün sayının ikili gösterimindeki tüm bitleri çevirdiğini açıklar. Bu, demek oluyor ki:
Bir sayıya ~ uygulamak, onun bit düzeyinde tamamlayıcısını üretir. Konsol çıktısını sonucu gözlemlemek için kopyalar.
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
11111111111111111111111111111110Bu neden oluyor?
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"c))Bu, tam ikili gösterimi gösterir ve tüm bitlerin nasıl çevrildiğini görmeyi kolaylaştırır.
Bu noktada, Tim şu soruya değinir: Değil (NOT) operatörü neden gereklidir? Diğer bit düzeyinde işlemler, örneğin:
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:
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.
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!
Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!
Join our newsletter, you’ll get exclusive access on article updates. We value your privacy