我正在循环执行如下所示的函数:
Y=exp(-0.04*(x-13.25)^(2))*300
假设我想得到 Y
对于 x
的每个值每个 0.1 interval
在 3.3454 和 20.3458 之间
我会这样做:
for (float i=3.3454;i<20.3458;i=+.1)
这是执行此操作的正确方法吗?
最佳答案
如果您在每个循环中添加 0.1,您将以累积错误告终。不可能将 0.1 精确存储为 float ,当您重复添加 0.1F/D 时,您会开始注意到漂移。如果您真的想尽可能接近,请在循环中使用整数,然后除以整数值来计算 float 。
关于C# 循环遍历 float 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6074938/