我有这个问题:
我们声称对浮点数使用相等性测试是不安全的,因为算术运算会引入舍入误差,这意味着应该相等的两个数字不相等。
对于这个程序,你应该选择一个数字 N,并编写一个程序来显示 1 到 1000 之间的哪个整数 x 的等式 (x+1)/N = (x/N) + (1/N) 不成立
#include <stdio.h>
int main () {
int x;
float N = 50;
for (x=0; x<1001; x++) {
if ((x+1)/N != (x/N) + (1/N))
{
printf("%i\n",x);
}
}
}
这个对吗?
谢谢。