用C怎么求 f0 满足 output[i] × f0 < MAX?
推荐回答
10进制化为2进制内部数据,会有一定的误差。比较浮点数大小时要考虑到这个因素。 output[i] × f0 < MAX如果 output[i] 不等于 0可以改写成f0 < MAX /output[i]如果是double 型数据,用:f0 = MAX /output[i] - DBL_EPSILON如果是float 型数据,用:f0 = MAX /output[i] - FLT_EPSILON需要头文件:#include <stdio.h>#include <float.h>---------------------------如果 output[i] 等于 0, f0 为无解 或 无限解 -- 不知道你是几年级,是否要考虑这个条件。---------------------------output[i] 等于/ 不等于 0 的判断条件:#include <float.h>#include <math.h>if ( fabs( output[i] ) < DBL_EPSILON ) { 等于 0;}else { 不等于 0;}