首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何在c++中对浮点值使用%运算符

如何在c++中对浮点值使用%运算符
EN

Stack Overflow用户
提问于 2011-09-21 12:56:27
回答 6查看 47K关注 0票数 15

当我在浮点值上使用%运算符时,我得到错误信息:“无效的操作数到二进制%(有‘float’和‘double’)”.I只想输入整数值,但是数值非常大(不在整数类型的范围内),所以为了避免使用float.Is带来的不便,有没有办法对这么大的整数值使用%运算符?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-09-21 12:58:07

您可以使用标准数学库中的fmod函数。它的原型在标准的头<math.h>中。

票数 22
EN

Stack Overflow用户

发布于 2011-09-21 13:00:03

您最好使用long long,在大多数系统中,它比double具有更高的精度。

注意:如果您的数字超出了long long的承受能力,那么fmod可能不会按照您希望的方式运行。在这种情况下,最好的选择是一个大整数库,比如this one

票数 6
EN

Stack Overflow用户

发布于 2011-09-21 13:42:26

%运算符仅为整数类型操作数定义;您需要将fmod*库函数用于浮点类型:

代码语言:javascript
运行
AI代码解释
复制
#include <math.h>
double fmod(double x, double y);
float fmodf(float x, float y);
long double fmodl(long double x, long double y);  
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7500128

复制
相关文章

相似问题

领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文