gpt4 book ai didi

c - 为什么 C 中同时存在 % 和 fmod()

转载 作者:太空狗 更新时间:2023-10-29 17:16:22 26 4
gpt4 key购买 nike

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

最佳答案

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

关于 fmod 的附加说明:在 double 操作数的情况下如何计算余数?感谢@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.

另一方面,在最初设计模除二元运算符 (%) 时,语言设计者确定它只支持“整数”类型的操作数,因为从技术上讲,“余数”的概念在数学只适用于整数除法。

关于c - 为什么 C 中同时存在 % 和 fmod(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41857794/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com