c语言中如何判断两浮点数是否整除?

如题所述

对两个浮点数之间进行除法运算,判断运算结果与进行取整后的结果的差是否足够接近0。因为浮点数存在表示精度限制,不能直接判断一个浮点数是不是等于0,特别是这个问题涉及浮点数的运算。代码经过测试,能运行。这里给出的是float类型的。
#include <stdio.h>
int main(int argc, char *argv[]) {
float a = 12.0;
float b = 24.0;
float limit = 0.000001;

if (b / a - (float)(int)(b / a) < limit) {
printf("能整除\n");
} else {
printf("不能整除\n");
}
return 0;

}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-10-06
比较浮点除法和整数除法的结果是否相等即可。本回答被提问者采纳
相似回答