使用函数将十进制转换为二进制C#

Pan*_*ens 0 c# binary function decimal

我想使用函数制作十进制到二进制的转换器,但我没有看到我的代码有什么问题:(错误表明我不能简单地将字符串转换为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;

   }
Run Code Online (Sandbox Code Playgroud)

Fil*_*dor 5

binaryArray[i] = "0" 一定是 binaryArray[i] = '0'

"0"是一个string文字虽然'0'是一个char,你有一个数组char.

同样的 binaryArray[i] = "1"


虽然以上将解决您的问题,我建议使用Convert.ToString(dec, 2)(由mjwills标记的欺骗建议).当然,只有当你对结果感兴趣而不是自己编码时,这才有意义.


请注意,我故意没有解决代码片段的任何其他问题.