何がJavaの除算演算でナンとインフィニティを決定します

Vinod Kunnakkattil:

私を混乱以下のコードの出力。なぜNaN、時にはおよびインフィニティ他の回?

public static void main (String[] args) {

    double a = 0.0;
    double b = 1.0;
    int c = 0; 
    System.out.println(a/0.0);
    System.out.println(a/0);
    System.out.println(b/0.0);
    System.out.println(b/0);
    System.out.println(c/0.0);
    System.out.println(c/0);
}

出力は次のとおりです。

NaN
NaN
Infinity
Infinity
NaN
Exception in thread "main" java.lang.ArithmeticException: / by zero

ここでの決め手は何ですか?

ヤヒヤ:

これは、である浮動小数点演算をためIEEE規格(IEEE 754)電気電子学会(IEEE)によって1985年に設立された浮動小数点計算のための技術的な標準です。


目的:

IEEE浮動小数点標準、..ゼロによる除算を含むすべての浮動小数点演算が、あることを指定し、明確に定義された結果を有します標準ゼロ符号付き支持体、ならびに無限大はNaN(非数)。+0(正のゼロ)及び-O(負のゼロ)と、この2つのゼロがあり除去する任意の曖昧割ます


ルール:

IEEE 754算術演算において、a ÷ +0ある正の無限大の場合aであり、正負の無限大の場合aであるネガ、およびNaNの場合a = ±0.


ソース

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=179693&siteId=1