我有一个关于在 C/C++ 中执行余数除法的问题。据说,在两个整数相除的运算中,如果结果不能用整数表示,则将其非整数部分以小数形式去掉。 例如,int a=17; a/=3;/伪 float a,得到的值是 5.6666../所以结果是 5。这是由于 point(6666. .),这实际上是余数(2)除以3。 这在我的计算机上有效,但它绝对可靠吗?还是我必须用 float 声明,然后将其强制转换为 int 以确保安全?性能和安全性哪个更好? 提前致谢。
最佳答案
C++ 中整数的算术运算不依赖于计算机。
如果 a
和 b
是整数,a/b
将始终给出除法的整数商和 a % b
code> 总是会给出整数除法的余数。
性能方面,可以看一下this StackOverflow question ,但它似乎依赖于架构。
关于整数除法余数的 C++ 确定性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17639147/