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
Las operaciones binarias en C# son esenciales para manejar las manipulaciones bit a bit, especialmente cuando se trabaja con indicadores, permisos y procesamiento de datos de bajo nivel. Uno de los operadores binarios fundamentales es el OR (|operador ). En su vídeo Binary in C#: El operador binario OR en 10 minutos o menos, Tim Corey desglosa cómo funciona el operador binario OR en C# y sus aplicaciones prácticas. Veamos sus explicaciones paso a paso.
Tim comienza el vídeo continuando su serie sobre la comprensión de las operaciones binarias en C#. Esta lección, la quinta de la serie, se centra en el operador OR. Él configura un escenario básico donde tiene dos valores enteros, Val1 y Val2, representados en formato binario. Estos valores se imprimen en la consola para ofrecer una representación visual clara de cómo aparecen en binario.
En este punto, Tim explica qué hace el operador OR en una comparación binaria. Aclara que el operador OR compara cada bit de dos valores binarios en posiciones correspondientes. Si alguno de los bits es 1, el resultado en esa posición será 1. Si ambos bits son 0, el resultado será 0.
Para demostrarlo, recorre un ejemplo en el que se comparan dos valores:
Val1 = 1101 (representación binaria)Val2 = 0010 (representación binaria)Tim enfatiza que en cada posición de bit, si al menos uno de los valores tiene 1, el bit resultante será 1. De lo contrario, permanece 0.
Tim pasa a escribir el código real para realizar la operación OR. Asigna el resultado de la operación OR a una nueva variable utilizando la tubería única (|operador ):
// 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 que facilita la entrada binaria directa en C#.result.Convert.ToString(result, toBase: 2) convierte el resultado entero en una cadena que representa su formato binario, para que pueda ser mostrado.Tim hace una distinción importante aquí: en expresiones lógicas dentro de declaraciones if, usamos || for logical OR, whereas in bitwise operations, we use a single | para operar en bits individuales.
Después de ejecutar la operación OR, Tim imprime el resultado en la consola. El resultado demuestra cómo funciona OR a nivel de bits:
1101|0010 = 1111Cada bit en el resultado sigue la regla: si Val1 o Val2 tiene un 1, el resultado es 1. Esto proporciona una visualización clara de cómo OR combina dos números binarios.
Para reforzar el concepto, Tim modifica Val2 para ver cómo reacciona el operador OR a diferentes entradas. Él cambia Val2 a 1010 y ejecuta la operación nuevamente. El resultado debe ser coherente con la lógica OR:
1101|1010 = 1111Tim señala que mientras al menos uno de los números tenga un 1 en una posición dada, el resultado en esa posición también será 1.
Tim repasa brevemente la diferencia entre OR lógico (||) and bitwise OR (|). OR lógico se utiliza para condiciones booleanas, como:
// 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 IfBitwise OR, por otro lado, se utiliza para operaciones binarias a nivel de bit, como se ha visto en esta lección.
Tim concluye comentando algunos casos prácticos en los que resulta útil la función bitwise OR. Uno de los casos de uso común es trabajar con configuraciones basadas en indicadores. Por ejemplo, si tiene diferentes indicadores de permiso almacenados como valores binarios, OR puede utilizarse para combinarlos de forma eficiente.
Por ejemplo, en un sistema basado en banderas:
READ_PERMISSION = 0001WRITE_PERMISSION = 0010EXECUTE_PERMISSION = 0100Si un usuario necesita tanto permisos de lectura como de escritura, podemos combinarlos utilizando OR:
// 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 destaca que OR es especialmente útil para manejar estas combinaciones de indicadores sin afectar a los valores existentes.
Al final del vídeo, Tim resume los puntos clave:
|) compara los bits correspondientes de dos números.1, el resultado es 1.||), que se utiliza para expresiones booleanas.Siguiendo las explicaciones y los ejemplos de Tim, podemos adquirir una sólida comprensión de cómo funciona el operador OR binario en C# y dónde puede aplicarse de forma eficaz.
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