这是我的代码。
string strTemp = "";
for (int i = input1; i <= input2; i++)
{
strTemp = Math.Abs(i).ToString();
//other stuff here
}
当input1的值为-2147483648时,我得到错误
为2补码数的最小值是无效的。
我有点得到的是,这是由于溢出异常。但我该如何克服呢?
+2147483648
大于int
的最大值231 - 1
相反,你可以使用long
;其最大值为263 - 1。
如果这还不够;使用BigInteger
@SLaks said
+2147483648大于整型
的最大值。
你可以使用Int32.MaxValue
和Int32.MinValue
:
x = -2147483648
if(Int32.MaxValue <= x || Int32.MinValue >= x) {
return x;
}