标签: c++ c
计算是否需要乘以两个双精度值 - > -329.0000 * 0.000000给出32位的-0.000000和64位的0.000000?
答案 0 :(得分:3)
您已经在之前的四个问题中询问了此问题背后的问题,并且您已被告知您所看到的原因是您有一个小的负值,该值不为零(或负零)但显示因为用于显示它的格式规范而为“-0.000000”。该值小于(接近于零)-0.0000005,因此它舍入为全部为零的显示。 显示不是实际值。
使用%g说明符打印值,您将看到它不为零。
%g