所以我知道IEEE 754为非实数的值指定了一些特殊的浮点值.在Java中,铸造这些值的原始int不会不抛出异常像我本来期望.相反,我们有以下内容:
int n;
n = (int)Double.NaN; // n == 0
n = (int)Double.POSITIVE_INFINITY; // n == Integer.MAX_VALUE
n = (int)Double.NEGATIVE_INFINITY; // n == Integer.MIN_VALUE
Run Code Online (Sandbox Code Playgroud)
在这些情况下不抛出异常的理由是什么?这是IEEE标准,还是仅仅是Java设计者的选择?如果这种演员阵容有例外情况,我是否会发现不良后果?