プログラマメモ2 - programmer no memo2

[java]Integer.MAX_VALUEに1を足してみたら 2010/11/11
2010/11/11

Javaです。

同じまちがいをおこすということは、きっとそのまちがいが自分の根っこの部分にマッチしているからなのだなーと思う今日この頃です。

Integer.MAX_VALUEに1を加算するといったいどんな値になるのでしょうか?


試してみましょう。
public class A {

public static void main(String[] args) {
a();
b();
}

static void a(){
int i = Integer.MAX_VALUE + 1;
System.out.println(i);
System.out.println(Integer.MIN_VALUE);
}
static void b(){
int i = Integer.MIN_VALUE - 1;
System.out.println(i);
System.out.println(Integer.MAX_VALUE);
}
}


-2147483648
-2147483648
2147483647
2147483647


結果は、Integer.MIN_VALUEとなります。
同じようにInteger.MIN_VALUE - 1してみますと、Integer.MAX_VALUEとなります。

循環しているのですね。

あっ、既視感(déjà-vu).....

関連
プログラマメモ2: java 2の31乗とInteger.MAX_VALUE

: