任何人都可以解释用于递增浮动十进制数的最佳逻辑/方法吗?
例如,如果我们假设起始十进制数是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等......?我在逻辑上是正确的吗?我很迷惑。请帮忙。
答案 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