C# 正在尝试从十进制转换为二进制,但在C中不起作用# { 班级计划 { 静态void Main(字符串[]参数) { Console.WriteLine(“输入要转换的十进制数”); int num=int.Parse(Console.ReadLine()); 整数计数=0; int[]二进制={}; while(num!=0) { int-answer=num%2; 二进制[计数]=答案; 计数++; num/=2; 控制台写入线(num); } 对于(int i=binary.Length;i=0;i++) { Console.WriteLine(二进制[i]); } Console.ReadLine(); } } }

C# 正在尝试从十进制转换为二进制,但在C中不起作用# { 班级计划 { 静态void Main(字符串[]参数) { Console.WriteLine(“输入要转换的十进制数”); int num=int.Parse(Console.ReadLine()); 整数计数=0; int[]二进制={}; while(num!=0) { int-answer=num%2; 二进制[计数]=答案; 计数++; num/=2; 控制台写入线(num); } 对于(int i=binary.Length;i=0;i++) { Console.WriteLine(二进制[i]); } Console.ReadLine(); } } },c#,C#,“不工作”不是程序员的术语。在询问有关Stackoverflow的问题时,您应该提供更详细的信息,说明到底出了什么问题 看起来您的代码有许多不同的问题。很难知道从哪里开始。下面是我如何编写自己的C#代码来将整数转换为二进制字符串: { class Program { static void Main(string[] args) { Console.WriteLine("Input decimal number to con

“不工作”不是程序员的术语。在询问有关Stackoverflow的问题时,您应该提供更详细的信息,说明到底出了什么问题

看起来您的代码有许多不同的问题。很难知道从哪里开始。下面是我如何编写自己的C#代码来将整数转换为二进制字符串:

{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Input decimal number to convert");
            int num = int.Parse(Console.ReadLine());
            int count = 0;
            int[] binary = { };
            while (num != 0)
            {
                int answer = num % 2;
                binary[count] = answer;
                count++;
                num /= 2;
                Console.WriteLine(num);
            }
            for (int i = binary.Length; i < binary.Length && i >= 0; i++)
            {
                Console.WriteLine(binary[i]);
            }
            Console.ReadLine();
        }
    }
}

它怎么不起作用?使用一些示例输入、输出内容和预期输出内容更新问题,您将有更好的机会获得一些答案。在调试器中单步执行代码时,哪个操作首先生成意外结果?当时变量的值是多少?结果如何?你期望得到什么结果?为什么?那么,您尝试在这一行
int num=int.parse(Console.ReadLine())中解析整数,而不是小数请添加预期结果和您的代码的确切问题或
字符串输出=Convert.ToString(num,2)
string.Concat(Convert.ToString(num,2.Reverse())如果它真的需要反转。@吉米:当然,但正如我指出的,这是我如何编写自己的C#代码来转换它(而不是使用现有代码)。注释与OP的预期输出更相关,因此如果它真的需要反转。在这里,位表示是相反的。我想知道这是否真的是预期的结果(问题缺少真实的描述,所以…)。
StringBuilder builder = new StringBuilder();

if (num == 0)
{
    builder.Append('0');
}
else
{
    while (num != 0)
    {
        builder.Insert(0, (char)('0' + (num & 1)));
        num >>= 1;
    }
}

Console.WriteLine(builder.ToString());