在计算机编程中,存在正负零.这可能不会让你感到震惊,但奇怪的是,正零等于负零的明显事实.这是一个例子:
public static class Program { public static void Main() { int positive = 0; int negative = -0; Console.WriteLine(positive == negative); Console.Read(); } }
输出显示为"True".
至于每个人显然充斥着"Int默认为0"的评论.我应该指出,浮动和双打做同样的事情,在负和正零之间的平等中返回真实.
我想这可能与图形的概念有关,其中负零点和正零点将在同一维度点内正交存在.还是他们之间存在平等的另一个原因是什么?
int
使用二进制补码完成否定.也就是说,反转这些位并添加一位.无论位长度如何,如果使用零值执行此操作,则返回零.
例如,0000
翻转成为1111
并添加1
滚动回到0000
.
这是为了消除具有两个零的冗余.
使用float
和double
,根据IEEE-754,技术上既有+0
和-0
,但它们被认为是平等的.