sbyte - signed byte c#
Byte a Binary String C#- Muestra los 8 dÃgitos (4)
Quiero mostrar un byte en el cuadro de texto. Ahora estoy usando:
Convert.ToString(MyVeryOwnByte, 2);
Pero cuando el byte tiene 0 al principio, esos 0 se están ejecutando. Ejemplo:
MyVeryOwnByte = 00001110 // Texbox shows -> 1110
MyVeryOwnByte = 01010101 // Texbox shows -> 1010101
MyVeryOwnByte = 00000000 // Texbox shows -> <Empty>
MyVeryOwnByte = 00000001 // Texbox shows -> 1
Quiero mostrar los 8 dígitos.
Cómo lo hace depende de cómo quiera que se vea su salida.
Si solo quiere "00011011", use una función como esta:
static string Pad(byte b)
{
return Convert.ToString(b, 2).PadLeft(8, ''0'');
}
Si desea una salida como "000 11011 ", use una función como esta:
static string PadBold(byte b)
{
string bin = Convert.ToString(b, 2);
return new string(''0'', 8 - bin.Length) + "<b>" + bin + "</b>";
}
Si desea una salida como "0001 1011", una función como esta podría ser mejor:
static string PadNibble(byte b)
{
return Int32.Parse(Convert.ToString(b, 2)).ToString("0000 0000");
}
Puedes crear un método de extensión:
public static class ByteExtension
{
public static string ToBitsString(this byte value)
{
return Convert.ToString(value, 2).PadLeft(8, ''0'');
}
}
Rellene la cadena con ceros. En este caso, es PadLeft(length, characterToPadWith)
. Métodos de extensión muy útiles. PadRight()
es otro método útil.
Convert.ToString(MyVeryOwnByte, 2).PadLeft(8, ''0'');
Esto llenará el espacio vacío a la izquierda con ''0'' para un total de 8 caracteres en la cadena