C# 负零能以编程方式存在吗?

C# 负零能以编程方式存在吗?,c#,console-application,C#,Console Application,我有两个二进制数。我想加上a=(-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.Pa

我有两个二进制数。我想加上a=(-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();
intb1,b2;
int i=0,rem=0;
整数[]和=新整数[20];
WriteLine(“输入第一个二进制数:”);
b1=int.Parse(Console.ReadLine());
WriteLine(“输入第二个二进制数:”);
b2=int.Parse(Console.ReadLine());
而(b1!=0 | | b2!=0)
{
总和[i++]=(b1%10+b2%10+rem)%2;
rem=(b1%10+b2%10+rem)/2;
b1=b1/10;
b2=b2/10;
}
如果(rem!=0)
总和[i++]=rem;
--一,;
WriteLine(“两个二进制数之和:”);

虽然(iOk,因此根据您的答案,如果您的答案为零,听起来您希望在答案前面显示一个负号,我假设当您的
sum
数组中的每个元素都是值
0
时会发生这种情况

在上一次
while
循环之前,可以插入以下代码:

if (Array.TrueForAll(sum, n => n == 0))
    Console.Write("-");
当且仅当
sum
数组中的每个元素都是值0时,这将打印负号。请注意,此代码不属于上次while循环


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

-0
由于2的称赞而不存在。-0被称为a,从技术上讲它是一个负数,但实际上它与0完全相同。在处理整数时没有-0这样的东西。0是0。此外,“数字是二进制的”是什么意思?数字的输入是二进制的,你是说你希望用户输入,例如字符串
10010
?如果是这样,你会对整除线
b1=b1/10
b2=b2/10
有一个大问题。它会进入无限循环。无论如何,谢谢。这是什么?我上面粘贴的代码?它肯定会不是。您将我的代码粘贴到哪里了?while(in==0))Console.Write(“-”;写(“{0}”,和[i--]);Console.ReadLine();}正如我所说,if条件应该在while循环之外。此外,while循环的条件不正确。请查看我的编辑。我更正了代码。但它不会给出任何输出