У меня есть код, который превращает целое число в его двоичное представление, но мне было интересно, есть ли более простой или «простой» способ сделать это. Я знаю, что в C# есть встроенный метод, который делает это для вас автоматически, но это не то, что я хочу использовать.C# Более простой способ преобразования целого числа в строку в двоичной форме без метода Convert.ToString.?
Эта версия пересекает каждый из 32-разрядных позиций при записи и нулях и использует TrimStart для удаления ведущих нулей.
Например, преобразование целого числа 10 в его строковое представление в двоичном формате как «1010».
static string IntToBinary(int n)
{
char[] b = new char[32];
int pos = 31;
int i = 0;
while (i < 32) // Loops over each of the 32-bit positions while writing ones and zeros.
{
if ((n & (1 << i)) != 0)
{
b[pos] = '1';
}
else
{
b[pos] = '0';
}
pos--;
i++;
}
return new string(b).TrimStart('0'); // TrimStart removes leading zeroes.
}
static void Main()
{
Console.WriteLine(IntToBinary(300));
}
** Почему ** вы не хотите использовать 'Con vert.ToString'? –