当前位置:  开发笔记 > 编程语言 > 正文

为什么%和fmod()都存在于C中

如何解决《为什么%和fmod()都存在于C中》经验,为你挑选了2个好方法。

我今天在我的CS课上参加了一个测验并得到了关于模运算符错误的问题,因为我不知道C中%的可用性,我一直在使用fmod().为什么两者都存在?是一个更好/更快还是只处理不同的数据类型?



1> VHS..:

modulo division%在C中使用运算符仅适用于整数操作数,并返回除法的整数余数.该函数fmod接受double作为参数意味着它接受非整数值并返回除法的其余部分.

关于fmod的补充说明:在double操作数的情况下如何计算余数?感谢@chux显示有关fmod如何计算浮点除法余数的文档.

由该函数计算的除法运算x/y的浮点余数恰好是值x-n*y,其中n是x/y,其小数部分被截断.

返回值与x具有相同的符号,并且在幅度上小于或等于y.

另一方面,当模数除法运算符(%)首次设计时,语言设计者确定它只支持"整数"类型的操作数,因为从技术上讲,数学中"余数"的概念仅适用到整数除法.



2> xenteros..:

这是因为它%是整数运算符,fmod代表floatmod浮点数并用于浮点数。

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有