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
9m 33s
Bit düzeyinde operatörler, bir tam sayının bireysel bitlerini manipüle etmenize olanak tanıyan C# dilinin önemli bir parçasıdır. Bu operatörler, düşük seviyeli programlama, performans optimizasyonları ve bayraklarla çalışma konusunda inanılmaz derecede faydalıdır. Bu makalede, Tim Corey'nin C#'ta Binary: 10 dakika veya daha kısa sürede Bitwise Shift Left ve Bitwise Shift Right ile Bit Kaydırma videosu rehberliğinde bit kaydırma konusuna daha derinlemesine bakacağız.
Tim, C#'teki ikili sistemin anlaşılması üzerine serisine devam ederek başlıyor. Bu ders, serinin dördüncü dersi olup bit kaydırmaya odaklanmaktadır. Amacımız, bitleri sola veya sağa kaydırmanın bir sayıyı nasıl etkilediğini ve bu tekniği programlamada nasıl kullanabileceğimizi anlamaktır.
Tim, bir tam sayıyı ikili biçimine dönüştüren ve 8 bitlik formatta görüntülendiğinden emin olan ConvertToBinary adında bir yöntem oluşturarak örneği hazırlar. Bu, bit kaydırmanın nasıl çalıştığını görselleştirmenizi kolaylaştırır.
Tim, bit kaydırma işlemini, sol kaydırma operatörünü (<<) kullanarak tanıtır. Soldan n pozisyon kaydırmanın, sayıyı 2^n ile çarpmaya eşdeğer olduğunu açıklar.
Örneğin, 9 sayısıyla başlar, bu sayının ikili gösterimi:
0000100100001001Üç basamak sola kaydırdığında (9 << 3), sonuç şu şekilde olur:
01001000&H48Bu yeni ikili değer 72'yi temsil eder. Tim, sola kaydırmanın esasen sağa üç sıfır ekleyerek sayıyı üç kez 2 ile çarptığını (yani, 9 * 2^3 = 72) vurgular.
Tim, mevcut bir sayıyı kaydırmanın faydalı olduğunu açıklarken, daha yaygın uygulamanın 1 sayısını belirli bir konuma kaydırmak olduğunu belirtiyor. Örneğin:
1 << 31 << 3Bu, biti dördüncü konuma taşır ve sonuç olarak:
00001000&H00001000Bu ikili sayı 8'e eşittir. Tim, bu tekniğin bit maskeleri veya bayraklarla çalışırken özellikle faydalı olduğunu belirtiyor.
Sonraki adımda, Tim sağ kaydırma operatörü (>>) kullanarak bit kaydırma işlemini açıklar. Sağa n pozisyon kaydırmanın, sayıyı 2^n ile bölmeye ve herhangi bir kalanı ihmal etmeye eşdeğer olduğunu belirtir.
Önceki örneği kullanarak, ikili olarak 9 (00001001) sayısı iki basamak sağa kaydırıldığında (9 >> 2), sonuç şu şekilde olur:
00000010&H00000010Bu, 2 ile eşittir. Tim, sağa kaydırmanın temelde sağdan bitleri kaldırarak sayının değerini azalttığını açıklar.
Tim, bit kaydırmanın programlamada neden değerli olduğunu tartışıyor. Başlıca kullanım alanlarından bazıları şunlardır:
Hesaplamaların optimize edilmesi: İki kuvveti ile çarpma ve bölme işlemleri yerine bit kaydırma kullanılabilir, bu da işlemleri daha hızlı hale getirir.
Belirli bitlerin ayarlanması ve temizlenmesi: Bayrak tabanlı numaralandırmalarda, bit kaydırma boolean değerlerin verimli bir şekilde saklanması ve işlenmesine olanak tanır.
Donanımla çalışma: Birçok düşük seviyeli donanım işlemi, bit düzeyinde manipülasyonlara dayanır.
Tim, bit kaydırmanın genellikle diğer işlemlerle birlikte kullanıldığını vurgulayarak bitiriyor. Bitleri etkili bir şekilde kaydırmayı anlamak, özellikle bayraklar, ikili hesaplamalar ve performans açısından kritik uygulamaları içeren senaryolarda, daha verimli ve optimize edilmiş kodlara yol açabilir.
Tim Corey'nin açıklamalarını takip ederek, bit kaydırma sol ve sağ işlemlerinin nasıl çalıştığını, sayıları nasıl etkilediğini ve yaygın olarak nerede kullanıldığını inceledik. Görsel ve derinlemesine bir rehber istiyorsanız, Tim'in videosu C#'te bit düzeyinde işlemleri ustalaşmak için mükemmel bir kaynaktır.
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