我如何检查一个数字是正的或负的c# ?


当前回答

bool isNegative(int n) {
  int i;
  for (i = 0; i <= Int32.MaxValue; i++) {
    if (n == i) 
      return false;
  }
  return true;
}

其他回答

int j = num * -1;

if (j - num  == j)
{
     // Num is equal to zero
}
else if (j < i)
{
      // Num is positive
}
else if (j > i) 
{
     // Num is negative
}

这是行业标准:

int is_negative(float num)
{
  char *p = (char*) malloc(20);
  sprintf(p, "%f", num);
  return p[0] == '-';
}

的数学。符号法是一种方法。它将返回-1表示负数,1表示正数,0表示等于0(即0没有符号)。如果双精度变量和单精度变量等于NaN,则会引发异常(ArithmeticException)。

第一个参数存储在EAX寄存器和结果中。

function IsNegative(ANum: Integer): LongBool; assembler;
asm
   and eax, $80000000
end;
num < 0 // number is negative