样本1
int a = Int32.MinValue;
int b = -a;
Console.WriteLine("a={0}",a);
Console.WriteLine("b={0}", b);
结果
a=-2147483648
b=-2147483648
样本2
int a = Int32.MinValue;
int b = a-1;
Console.WriteLine("a={0}",a);
Console.WriteLine("b={0}", b);
结果
a=-2147483648
b=2147483647
在两个示例中:为什么不抛出溢出异常。当我在java环境中尝试这些示例时,我得到了相同的结果。有没有人可以解释这种情况?