c语言两个double类型数据比较大小,求大神解答下

代码如下:可复制

for (i = 1; i < MAXSIZE; i++)
{
if ((max_db - double_arry[i]) < 1e-6)
{
max_db = double_arry[i];
}
if ((double_arry[i] - min_db ) < 1e-6)
{
min_db = double_arry[i];
}
}
最小值输出总是0.00000000,就是想知道最小值如何判断

有什么疑问?
double类型数据存储的数据是不精确的存储,如0.1可能是0.0999999。。。这是由于计算机表示浮点数的方法造成的精度缺陷,所以,在比较时,一般通过判断两数差与一个精度值的大小,来确定两数的大小,这个精度值由使用者根据情况自行确定,如,你这代码中的1e-6
温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答