gpt4 book ai didi

帮助! float

转载 作者:行者123 更新时间:2023-11-30 21:11:42 29 4
gpt4 key购买 nike

我有这个问题:

我们声称对 float 使用相等测试是不安全的,因为算术运算会引入舍入错误,这意味着两个应该相等的数字实际上并不相等。

对于这个程序,您应该选择一个数字 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);
}
}
}

这是正确的吗?

谢谢。

最佳答案

你的程序是错误的。它应该以 x=1 开头,而不是 x=0

但除此之外,您还应该选择两个示例(一个已由程序打印,一个未由程序打印)并手动计算它们。只需笔和纸以及 IEEE 754-1985 规则。然后打印等式两边并将它们与您手工计算的结果进行比较。

关于帮助! float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666437/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com