double a=11111*11111;
doube b=111111111*111111111;
double c=11个1*11个1;
三者输出如下:
图片说明
为什么会这样?
同时,对于int型也有下面的结果:
不是非常理解。希望能够得到解答,谢谢!!
发布于 2017-11-30 05:59:34
因为你直接写整数。那么它的乘法其实是整数乘法,最后转换为double
而整数乘法溢出了。
doube b=(double)111111111*(double)111111111;
这么写看看
发布于 2017-11-30 05:59:50
可以考虑一下使用 加阶码标志“e”或“E”输出。直接输出数字可能是会遇到无法输出的问题。
相似问题
领取专属 10元无门槛券
AI混元助手 在线答疑
洞察 腾讯核心技术
剖析业界实践案例