gpt4 book ai didi

c - c 中带符号整数的模算术未定义行为?

转载 作者:行者123 更新时间:2023-11-30 18:58:33 25 4
gpt4 key购买 nike

已阅读 Should you always use 'int' for numbers in C, even if they are non-negative? 中的所有答案和评论我仍然不确定在以下情况下该怎么办。

两个远程设备正在对各自位置的事件进行计数。他们定期向电脑报告计数器读数,其中反馈算法以某种方式将计数器读数的差异保持在范围内。事件序列是无穷无尽的,因此读数以 2^n 为模进行报告。对于模算术,建议使用无符号整数。然而,这种差异很可能变成负数。在计算差异之前,将读数转换为有符号整数在我测试的平台上效果很好(也就是说,我得到的差异是模 2^n,值的大小很小)。将读数声明为已经在界面中签名会产生优雅的代码。然而,代码应该是可移植的。我可以选择 U.B.严重警告吗?

最佳答案

Shall I take the U.B. warning seriously?

如果您不想让编译器或 CPU 欺骗您,您的代码应该是无 UB 的。

关于c - c 中带符号整数的模算术未定义行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15994917/

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