为什么会这样?解释每个结果

时间:2016-03-11 09:15:43

标签: java

enter link description here 包一;

公共类二次{

Theorem not_eq_nat__beq_nat_false: forall n m : nat
, n <> m -> (n =? m) = false
.
Proof.
  intros.
  apply beq_nat_false_iff. assumption.
Qed.

Theorem eq_nat__beq_nat_true: forall n m : nat
, n = m -> (n =? m) = true
.
Proof.
  intros.
  apply beq_nat_true_iff. assumption.
Qed.

} //这些outcoms让我很困惑

1 个答案:

答案 0 :(得分:1)

正在发生的是整数溢出和下溢。 Integer.MAX_VALUE(2147483647)是您可以存储在32位值中的最大数量。因此递增意味着它溢出(翻转)并变为Integer.MIN_VALUE(-2147483648)。与递减Integer.MIN_VALUE相同,然后将变为Integer.MAX_VALUE。通过乘法,同样的事情正在发生。