double a=11111*11111;
doube b=111111111*111111111;
double c=11个1*11个1;
三者输出如下:
为什么会这样?
同时,对于int型也有下面的结果:
不是非常理解。希望能够得到解答,谢谢!!
因为你直接写整数。那么它的乘法其实是整数乘法,最后转换为double
而整数乘法溢出了。
doube b=(double)111111111*(double)111111111;
这么写看看
输出遇到问题,具体是什么问题呢?
可以考虑一下使用 加阶码标志“e”或“E”输出。直接输出数字可能是会遇到无法输出的问题。
double a=11111.0*11111.0;