我知道整数值0
和-0
基本上是相同的。但是,我想知道是否可以区分它们。
例如,如何知道是否分配了变量-0
?
bool IsNegative(int num)
{
// How ?
}
int num = -0;
int additinon = 5;
num += (IsNegative(num)) ? -addition : addition;
-0
保存在内存中的值是否与完全相同0
?
int
以2的补码表示的实现(迄今为止最常见),0
并且-0
具有相同的按位表示。
int
。参见补码。