C语言浮点型数据能不能取余?

 我来答
税莺韵楚好
2020-05-18 · TA获得超过3万个赞
知道小有建树答主
回答量:1.1万
采纳率:35%
帮助的人:884万
展开全部
可以,但不能用操作符%,而要用库函数fmodf、fmod或fmodl。因为%是整型取余操作符,要求两边都是整型数才行,结果也是整型;fmodf用于float型变量操作,fmod用于double型变量操作,fmodl用于long
double型变量操作。以下以fmod举例:
//#include "stdafx.h"//If the vc++6.0, with this line.
#include "stdio.h"
#include "math.h"
int main(void){
double f=3.3,q=2.2;
printf("%f\n",fmod(f,q));
return 0;
}运行结果是1.100000。
环听安喻大
2019-09-25 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:33%
帮助的人:791万
展开全部
可以相除,计算机先将整型变量值的类型自动转换为浮点型(但是整型变量本身的数据类型和值并不改变),之后进行浮点数的运算。
举例如下:
int a1=4, a2;
float b1 = 5.2, b2;
a2 = b1/a1; // 运算结果为1,因为a2为int类型,所以将5.2/4=1.3的结果转换为int型,即舍去小数部分
b2 = b1/a1; // 运算结果为1.3,因为b2为float类型,可以表示小数,所以将5.2/4=1.3的结果直接赋值给变量b2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式