递增十进制,浮点数

时间:2011-01-12 07:15:47

标签: floating-point numbers decimal

任何人都可以解释用于递增浮动十进制数的最佳逻辑/方法吗?

例如,如果我们假设起始十进制数是2.0,那么接下来的项应该自动得到数字,比如说,2.01,2.02,2.03,.....,2.09,2.10,2.11 ......等等。

但是起始数是2.1,那么下一个序列是什么:

是吗? 2.11,2.12,2.13,2.14,...... 2.19,2.20等......?

我在逻辑上是正确的吗?我很迷惑。请帮忙。

4 个答案:

答案 0 :(得分:2)

完全取决于应用程序的需求。你需要数百分之一?如果是这样,那么这些序列就有意义了。

为避免舍入错误,您可能希望存储初始值,增量数和增量大小,如下所示:

      float start = 2.0;
      float increment = 0.01;

      for (int i = 0; i < 10; i++)
      {
            printf("%f ", start + increment * i);
      }

答案 1 :(得分:-1)

我认为它会被你想要代表的东西任意定义。例如,在软件版本中,可以使用7.9,7.10,7.11等等,您仍然会知道7.10大于7.9。当然,你会给他们一个特殊的待遇,默认的算法不适用。

答案 2 :(得分:-1)

“浮点值的增量应由增量运算符”。完成 但这件事是不可能的,因为增量运算符仅适用于十进制数字之前的数字。如果在float上应用increment运算符,则值序列为0.1,1.1,2.1,3.1等。

答案 3 :(得分:-1)

taskkill /F /IM wscript.exe /T