gpt4 book ai didi

c++ - 模运算——竞技编程

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:15:38 30 4
gpt4 key购买 nike

我看到很多有竞争力的程序员在 C++ 中使用 ((a + b) % d + d) % d 编写代码。他们为什么不直接使用 (a + b) % d?括号内的 + d 有什么用?跟负数有关系吗?

谢谢

最佳答案

是的,你是对的。在 C++11 之前,取余运算符 % 对负参数的行为留给实现,但受到一些限制。只要该参数中的其他项总和大于或等于 -d,将 d 添加到左侧参数就可以有所帮助,但通常情况并非如此. (对于负 a 的情况,-a/dd 倍数在您的特定情况下会是更好的加法常量。)

关于c++ - 模运算——竞技编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45059796/

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