java中,数值计算时的类型转换 ( 两个int类型相加,赋值给double )

定义代码如下

 

int a = Integer.MAX_VALUE;

int b = 1;

double c = 0;

 

c = a + b;

 

以上这段代码,虽然不会报错,但是计算结果精度有问题。

 

现象:

c得到的是一个溢出的结果。

------------------------------------

原因:

先把 a + b 为 int,这时已经溢出了。。。

再把 int 强制转换为 double

你可能感兴趣的:(java,java,c)