[c语言]1.0/3*3 结果不等于1? 怎样才能等于1?
[c语言]1.0/3*3 结果不等于1? 怎样才能等于1?
日期:2021-07-22 03:18:26 人气:1
这个问题我以前问过,
不一定等于1的,大多编译器是这样算的:
1.0/3=1.33333333333333333333;(它对超出精度部分舍去)
0.333333333333333333333333*3=0.9999999999999999999999999;
于是就不等于1了
但我用过的有一个编译器就能让这个结果为1.00000000000000000000,貌似是对超出精度的部分四舍五入了...
不一定等于1的,大多编译器是这样算的:
1.0/3=1.33333333333333333333;(它对超出精度部分舍去)
0.333333333333333333333333*3=0.9999999999999999999999999;
于是就不等于1了
但我用过的有一个编译器就能让这个结果为1.00000000000000000000,貌似是对超出精度的部分四舍五入了...