無限大
金曜日, 8 月 21st, 2009Java でも無限大を定義することができます。
ちょっとそれを試してみました。
なぜかって?
今まで無限大を使ったことがないからです。(^^;
package infinity2;
public class Main {
private static final double i = Double.POSITIVE_INFINITY;
private static final double j = Double.NEGATIVE_INFINITY;
private static final double k = 1.0e40;
public static void main(String[] args) {
if (i == i + 1) {
System.out.println(“無限大 ” + i);
}
if (j == j – 1) {
System.out.println(“無限小 ” + j);
}
if (k == k + 1) {
System.out.println(“1.0e40 に1を足しても ” + k);
}
System.out.println(“ulp = ” + Math.ulp(k));
System.out.println(“最も近い浮動小数点数 ” + Math.nextUp(k));
}
}
このプログラムの実行結果は下記のとおりです。
無限大 Infinity
無限小 -Infinity
1.0e40 に1を足しても 1.0E40
ulp = 1.2089258196146292E24
最も近い浮動小数点数 1.0000000000000002E40
無限大や無限小って英語で Infinity , -Infinity って表示されるんですね。
初めて知りました。
おまけがついてますけど浮動小数点数演算って癖があるので微妙・・・(^^;;;