我想使用函数制作一个十进制到二进制的转换器,但我不知道我的代码有什么问题:(错误表明我不能简单地将字符串转换为char但我已将其转换为第12行)。编辑 - 我对将denary转换为二进制而不是输出的过程感兴趣。
static void Main (string[] args)
{
Console.WriteLine("Decimal 14 = Binary " + dec_to_bin(14));
Console.WriteLine("Decimal 100 = Binary " + dec_to_bin(100));
Console.WriteLine("Decimal 32 = Binary " + dec_to_bin(32));
Console.WriteLine("Decimal 64 = Binary " + dec_to_bin(64));
Console.ReadLine();
}
public static string dec_to_bin(int dec)
{
string binary = "11111111";
char[]binaryArray = binary.ToCharArray();
for (int i = 0; i < 8; i++)
{
if (dec % 2 == 0)
{
binaryArray[i] = "0"; // error 1
}
else
{
binaryArray[i] = "1"; // error 2
}
}
binary = new string(binaryArray);
return binary;
}
答案 0 :(得分:5)
<div class="row">
<div class="columnbig" style="background-color:#ddd;">
</div>
<div class="columnmiddle" style="background-color:#aaa;">
</div>
<div class="columnmiddle" style="background-color:#ccc;">
</div>
</div>
<div class="row">
<div class="columnsmall" style="background-color:#aaa;">
</div>
<div class="columnsmall" style="background-color:#bbb;">
</div>
<div class="columnsmall" style="background-color:#ccc;">
</div>
<div class="columnmiddle" style="background-color:#ddd;">
</div>
</div>
必须为binaryArray[i] = "0"
binaryArray[i] = '0'
是"0"
字面值,而string
是'0'
,你有一个char
数组。
char
虽然上述内容可以解决您的问题,但我建议您使用binaryArray[i] = "1"
(根据mjwills标记的dupe建议)。当然,只有当你对结果感兴趣而不是自己编码时,这才有意义。
请注意,我故意没有解决代码段中的任何其他问题。