我有一个代码将一个整数转换为它的二进制表示,但我想知道是否有更简单或更容易的方法。我知道在C#中有一个内置方法可以自动为您执行此操作,但这不是我想要使用的方法。C#更简单的将整数转换为无Convert.ToString方法的二进制形式的字符串。
该版本在写入1和0时将循环遍历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'? –