得到长整数的abs值

时间:2010-12-31 11:38:50

标签: iphone objective-c c

我尝试使用下面的代码来获取long long类型整数的abs值;

long long v=abs(originalValue);

按预期工作,直到v的值超过1073741824(1G)

如果v是2147482648,则abs(v)是-2147482648。

如果v是10737418240,则abs(v)也是-2147482648。

我不明白是什么原因导致了这些。

欢迎任何评论

由于

InterDev中

2 个答案:

答案 0 :(得分:3)

改为使用llabs()

long long v = llabs(originalValue);

答案 1 :(得分:1)

abs将int作为参数,长期使用llabs