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

时间:2017-12-19 08:06:01

标签: c# function binary 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;

   }

1 个答案:

答案 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建议)。当然,只有当你对结果感兴趣而不是自己编码时,这才有意义。

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