零编程可以存在吗?

时间:2015-04-22 04:34:59

标签: c# console-application

我有两个二进制数字。我想添加一个=( - 0)和b =( - 0),如果我添加数字,我输出中什么都没有。我想要一个输出(-0)而不转换为十进制。有可能吗?

这是我的代码:

 int b1, b2;
            int i = 0, rem = 0;
            int[] sum = new int[20];
            Console.WriteLine("Enter the first binary number: ");
            b1 = int.Parse(Console.ReadLine());
            Console.WriteLine("Enter the second binary number: ");
            b2 = int.Parse(Console.ReadLine());
            while (b1 != 0 || b2 != 0)
            {
                sum[i++] = (b1 % 10 + b2 % 10 + rem) % 2;
                rem = (b1 % 10 + b2 % 10 + rem) / 2;
                b1 = b1 / 10;
                b2 = b2 / 10;
            }
            if (rem != 0)
                sum[i++] = rem;
            --i;
            Console.WriteLine("Sum of two binary numbers: ");
            while (i <= 0)
                Console.Write("{0}", sum[i--]);
            Console.ReadLine();

1 个答案:

答案 0 :(得分:0)

好的,所以基于你的答案,如果你的答案是零,你听起来想要在答案前面显示一个负号,我认为当sum数组中的每个元素都是价值0

上一个while循环之前,您可以插入这段代码:

if (Array.TrueForAll(sum, n => n == 0))
    Console.Write("-");

当且仅当sum数组中的每个元素都是值0时,这将打印一个负号。请注意,此代码属于最后一个while循环。

我还应该指出,你的最后一个while循环条件应该是while (i >= 0)