gpt4 book ai didi

c - 使用双倍数据速率的数据简单比较

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:15 24 4
gpt4 key购买 nike

我无法在这个简单的代码错误中进行这种比较..我在做什么,原因是什么? ...

#include <stdio.h>

int main()
{
double a = 0.0;
double b = 1.0;
double c = 0.1;

while( a != b )
a=a+c;

printf("Suma hasta 1 completada\n");
}

最佳答案

制作while ( a <= b )

double 运算(以及数据类型本身)存在精度问题。因此,避免使用 double == double 或 double != double 表达式。用 < 或 > 重新排列它们。可能在第 10 次迭代后 c 是 1.00000 .. 001,而不仅仅是 1。这主要是由于 double 类型的内部表示。

关于c - 使用双倍数据速率的数据简单比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2334173/

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