C语言怎样求两个double型数据相除求余数?

问题描述:

C语言怎样求两个double型数据相除求余数?
1个回答 分类:综合 2014-11-13

问题解答:

我来补答
在C语言中,只有整数才能求取余数,如果需要求取浮点数的余数,只能用变通的方法进行.
double num1 = 12.56,num2 = 4.0;
double remainder;
remainder = num1 - (int)(num1/num2);
再问: 但(int)(num1/num2)是按照四舍五入的规则的吗?这样不是会产生误差? 有没有听说过math.h 里面的fmod()函数,在网上看到的,不知道是不是真的有!
再答: 是的,有可能,下面的改进版。 double num1 = 12.56,num2 = 4.0; double remainder = (num1 - num1/num2)*num2; fmod()函数在不同的编译环境下实现的方法,甚至是否实现都是可能的,为了有更好的兼容性,还是根据C语言的基本功能实现更合适。
再问: 应该是double remainder =number1-(number1/number2)*number2吧!
 
 
展开全文阅读
剩余:2000
也许感兴趣的知识