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
5m 54s
C#'ta ikili işlemler, özellikle bayraklar, izinler ve düşük seviyeli veri işlemleriyle çalışırken bit seviyesinde manipülasyonları yönetmek için gereklidir. Temel ikili operatörlerden biri, OR operasyonudur (|) operatörü. Tim Corey, Binary in C#: The Binary OR Operator in 10 minutes or less adlı videosunda C# dilindeki binary OR operatörünün nasıl çalıştığını ve pratik uygulamalarını açıklıyor. Onun açıklamalarını adım adım inceleyelim.
Tim, videoya, C# dilinde ikili işlemleri anlamaya yönelik dizisine devam ederek başlıyor. Bu ders, serinin beşincisi, OR operatörüne odaklanır. İki tamsayı değeri, Val1 ve Val2, ikilik formatta temsil edilen basit bir senaryo kuruyor. Bu değerler, ikilik formatta nasıl göründüklerini net bir şekilde göstermek amacıyla konsola yazdırılır.
Bu noktada, Tim ikili karşılaştırmada OR operatörünün ne yaptığını açıklar. Her bir bitlik OR operatörünün, iki ikili değerin karşılık gelen pozisyonlarındaki bitleri karşılaştırdığını açıklar. Eğer bitlerden herhangi biri 1 ise, o konumdaki sonuç 1 olacaktır. Eğer her iki bit de 0 ise, sonuç 0 olacaktır.
Bunu göstermek için, iki değeri karşılaştıran bir örnek üzerinden geçiyor:
Val1 = 1101 (ikilik temsil)Val2 = 0010 (ikilik temsil)Tim, her bit pozisyonunda, en az bir değerin 1 olması durumunda, oluşacak bitin 1 olacağını vurgular. Aksi takdirde, 0 olarak kalır.
Tim, OR işlemini gerçekleştirecek olan gerçek kodu yazmaya geçer. Tekli pipe (`) kullanarak OR işleminin sonucunu yeni bir değişkene atıyor|) operatörü:
// Define two binary values as integers
int Val1 = 0b1101; // Binary representation: 1101
int Val2 = 0b0010; // Binary representation: 0010
// Perform the bitwise OR operation
int result = Val1 | Val2;
// Print the result to the console
Console.WriteLine(Convert.ToString(result, toBase: 2)); // Output: 1111 in binary' Define two binary values as integers
Dim Val1 As Integer = &B1101 ' Binary representation: 1101
Dim Val2 As Integer = &B0010 ' Binary representation: 0010
' Perform the bitwise OR operation
Dim result As Integer = Val1 Or Val2
' Print the result to the console
Console.WriteLine(Convert.ToString(result, toBase:=2)) ' Output: 1111 in binary0b öneki kullanılarak tanımlanır.result değişkenine saklanır.Convert.ToString(result, toBase: 2), tamsayı sonucunu ikilik formatını temsil eden bir stringe dönüştürür, böylece görüntülenebilir.Tim burada önemli bir ayrıma işaret eder: if ifadeleri içindeki mantıksal ifadelerde, kullanırız || for logical OR, whereas in bitwise operations, we use a single `|tekil bitler üzerinde işlem yapmak için.
OR işlemini çalıştırdıktan sonra, Tim sonucu konsola yazdırır. Çıktı, OR işleminin bit düzeyinde nasıl çalıştığını gösterir:
1101|0010 = 1111Sonuçtaki her bit şu kurala uyar: Val1 veya Val2'un 1 olması durumunda, sonuç 1 olur. Bu durum, OR işleminin iki ikili sayıyı nasıl birleştirdiğini net bir şekilde görselleştirir.
Konsepti pekiştirmek için, Tim farklı girdilere OR operatörünün nasıl tepki verdiğini görmek üzere Val2'yu değiştirir. Val2'yu 1010 olarak değiştirir ve işlemi tekrar çalıştırır. Sonuç, OR mantığıyla tutarlılığını korur:
Tim, en az bir sayının belirli bir pozisyonda 1 bulunduğu sürece, o konumdaki sonucun da 1 olacağını belirtir.
Tim, mantıksal VEYA (||) and bitwise OR (|). Mantıksal VEYA, Boolean koşulları için kullanılır, örneğin:
// Example of logical OR in a conditional statement
if (condition1 || condition2)
{
// Execute if either condition1 or condition2 is true
}' Example of logical OR in a conditional statement
If condition1 OrElse condition2 Then
' Execute if either condition1 or condition2 is true
End IfÖte yandan, Bitwise OR, bu derste görüldüğü gibi bit düzeyinde ikili işlemler için kullanılır.
Tim, son olarak bit düzeyinde VEYA operatörünün kullanışlı olduğu bazı pratik senaryoları tartışarak bitiriyor. Yaygın kullanım durumlarından biri, bayrak tabanlı ayarlarla çalışmaktır. Örneğin, farklı izin bayraklarınızın ikili değerler olarak saklandığını varsayalım, OR işleci bunları verimli bir şekilde birleştirmek için kullanılabilir.
Örneğin, bir bayrağa dayalı sistemde:
READ_PERMISSION = 0001WRITE_PERMISSION = 0010EXECUTE_PERMISSION = 0100ihtiyacı varsa
// Define permission flags as constants
const int READ_PERMISSION = 0b0001;
const int WRITE_PERMISSION = 0b0010;
// Combine read and write permissions using bitwise OR
int userPermissions = READ_PERMISSION | WRITE_PERMISSION; // Result: 0011
// Print the user permissions in binary
Console.WriteLine(Convert.ToString(userPermissions, toBase: 2)); // Output: 0011' Define permission flags as constants
Const READ_PERMISSION As Integer = &B0001
Const WRITE_PERMISSION As Integer = &B0010
' Combine read and write permissions using bitwise OR
Dim userPermissions As Integer = READ_PERMISSION Or WRITE_PERMISSION ' Result: 0011
' Print the user permissions in binary
Console.WriteLine(Convert.ToString(userPermissions, toBase:=2)) ' Output: 0011Tim, bu tür bayrak kombinasyonlarını mevcut değerleri etkilemeden ele alırken OR operatörünün özellikle yararlı olduğunu vurgular.
Videonun sonuna gelirken, Tim ana noktaları özetler:
1 ise, sonuç 1 olur.Tim'in açıklamalarını ve örneklerini takip ederek, C# dilinde ikili OR operatörünün nasıl çalıştığını ve nerelerde etkili bir şekilde uygulanabileceğini sağlam bir şekilde anlayabiliriz.
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