IRONSOFTWAREHOME

Valores binarios en C#: Almacenamiento y visualización de valores binarios

Binario en C#: Almacenamiento y visualización de valores binarios en 10 minutos o menos.

Tim Corey

9m 43s

Los números binarios son una parte esencial de la computación, y entender cómo trabajar con ellos en C# es crucial para manejar operaciones de bajo nivel, manipulaciones bit a bit y almacenamiento eficiente. En este artículo, desglosaremos los conceptos clave del almacenamiento y la visualización de valores binarios en C#, siguiendo el vídeo de Tim Corey, Binary in C#: Almacenamiento y visualización de valores binarios en 10 minutos o menos.

Tim explica este tema de forma concisa pero detallada, lo que facilita su comprensión. Vayamos paso a paso a través de su explicación y exploremos cómo funcionan los valores binarios en C#.

Storing Binary Values in C#

Tim comienza abordando la pregunta central: ¿cómo se almacena un número binario en C#? Él explica que los números binarios, como 0b101, representan valores en base 2 y se almacenan en variables enteras.

Para almacenar un valor binario, Tim muestra la siguiente sintaxis:

int binaryValue = 0b101; // Represents the decimal number 5

Aquí, 0b es un prefijo que indica a C# que interprete los dígitos siguientes como un número binario. Tim destaca que 0b101 es equivalente a 5 en notación decimal.

También menciona que agregar ceros a la izquierda (por ejemplo, 0b00000101) no cambia el valor. El sistema sigue interpretándolo como 5 porque esos ceros de más no tienen significado numérico.

Printing Binary Values in C#

Una vez que almacenamos un valor binario, el siguiente paso es mostrarlo. Tim señala un comportamiento interesante: cuando se imprime un valor almacenado en binario, C# lo convierte en decimal por defecto.

Por ejemplo:

Console.WriteLine($"Binary value is: {binaryValue}");
// Outputs: Binary value is: 5

Aunque binaryValue se almacenó como 0b101, la consola mostrará 5. Tim explica que C# trabaja con base 10 por defecto al mostrar valores numéricos.

Para ver el valor en su formato binario, necesitamos una conversión.

Conversión de números enteros a formato binario

Tim presenta una forma sencilla de formatear un número entero como cadena binaria:

string binaryString = Convert.ToString(binaryValue, 2);
Console.WriteLine($"Binary representation: {binaryString}");
// Outputs: Binary representation: 101

Él explica que Convert.ToString(value, 2) convierte un entero a su representación binaria como una cadena. De esta manera, si almacenas 0b101, la consola ahora mostrará correctamente 101 en lugar de 5.

Colocación de valores binarios con ceros a la izquierda

A continuación, Tim aborda un problema que suele surgir al mostrar números binarios: darles un formato coherente con ceros a la izquierda. En muchos casos, queremos que un número binario aparezca en un formato de 8 bits (por ejemplo, 00000101 en lugar de solo 101).

Él explica cómo lograr esto utilizando PadLeft:

string formattedBinary = binaryString.PadLeft(8, '0');
Console.WriteLine($"Formatted binary: {formattedBinary}");
// Outputs: Formatted binary: 00000101

Aquí, PadLeft(8, '0') asegura que la cadena binaria siempre tenga al menos 8 caracteres, llenando cualquier espacio faltante con ceros. Esto es especialmente útil cuando se trata de valores binarios del tamaño de un byte.

Tim aclara que las comillas simples alrededor de '0' son necesarias porque PadLeft trabaja con caracteres, no con cadenas.

Representación binaria de números decimales

Otro punto importante que Tim menciona es que no necesitas introducir números en formato binario (notación 0b) para obtener su representación binaria.

Por ejemplo, se puede tomar un número decimal estándar y convertirlo a binario:

int decimalNumber = 12;
string binaryRepresentation = Convert.ToString(decimalNumber, 2);
Console.WriteLine($"Binary equivalent of {decimalNumber} is {binaryRepresentation}");
// Outputs: Binary equivalent of 12 is 1100

Aquí, el número 12 se almacena como un entero decimal, pero al convertirlo, se muestra correctamente 1100 en binario.

Tim destaca que esta técnica es útil para depurar y comprender cómo se almacenan los números a nivel de bits.

Almacenamiento de números binarios en diferentes tipos de datos

Tim también toca el tema de cómo los valores binarios se pueden almacenar en distintos tipos de datos numéricos. Aunque los enteros (int) son los más comunes, C# permite almacenar valores binarios en otros tipos como uint (entero sin signo) o long.

Por ejemplo:

uint unsignedBinary = 0b1010; // 10 in decimal
long largeBinary = 0b1100110011; // A longer binary number

La diferencia clave con uint es que no admite valores negativos, mientras que long puede contener números mucho más grandes.

Tim señala que comprender estas distinciones ayuda a la hora de trabajar con operaciones de bajo nivel, como los desplazamientos de bits y el enmascaramiento.

Reflexiones finales

Tim concluye resumiendo los puntos clave:

  1. Los números binarios se almacenan en tipos enteros utilizando el prefijo 0b.
  2. La impresión de un número entero se realiza por defecto en representación decimal, por lo que se requiere una conversión explícita para la salida binaria.
  3. Convert.ToString(value, 2) ayuda a convertir los números en formato binario.
  4. PadLeft asegura una representación consistente de longitud de bit.
  5. Se pueden almacenar números binarios en diferentes tipos numéricos, dependiendo del caso de uso.

Con estas técnicas, trabajar con valores binarios en C# resulta mucho más fácil e intuitivo. Para comprender mejor el tema, vea su vídeo completo.

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!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta