加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 10:13:44 所属栏目:百科 来源:网络整理
导读:我今天在我的CS课上参加了一个测验并得到关于模运算符错误的问题,因为我不知道C中%的可用性,我一直在使用fmod().为什么两者都存在?是一个更好/更快还是只处理不同的数据类型? 解决方法 在C中使用%运算符的模除法仅适用于整数操作数并返回除法的整数余数.
我今天在我的CS课上参加了一个测验并得到关于模运算符错误的问题,因为我不知道C中%的可用性,我一直在使用fmod().为什么两者都存在?是一个更好/更快还是只处理不同的数据类型?

解决方法

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

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

The floating-point remainder of the division operation x/y calculated
by this function is exactly the value x – n*y,where n is x/y with its
fractional part truncated.

The returned value has the same sign as x and is less or equal to y in
magnitude.

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读