C语言 fmod函数有问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 20:35:58
fmod是double型求模,试过几个数没问题,但是这样就出问题了:
double a=2.8,b=0.2,c=0;
c=fmod(a,b);
c的结果居然是0.2,不懂,请教.
谢谢

功 能:计算x对y的模,即x/y的求余运算 (参见百科词条mod中的"求余函数" 条目),若y是0,则返回NaN。
  用 法:double fmod(double x,double y);
  需要头文件:math.h

#include<stdio.h>
#include<math.h>
void main()
{
double a=2.8,b=0.2,c=0.0;
c=fmod(a,b);
printf("a=%.16lf,b=%.16lf,c=%.16lf\n",a,b,c);
getch();
}

输出:
a=2.7999999999999998,b=0.2000000000000000,c=0.1999999999999997

明白了吗?

有什么不对的吗?
c=2.8-13*0.2阿,这个函数就是这个意思啊

我试了试,好像就是0.1,0.2的时候余数是0.1,或者0.2,不知道原因