【发布时间】:2013-04-10 00:31:14
【问题描述】:
我正在阅读有关整数安全性的文章。 这是链接: http://ptgmedia.pearsoncmg.com/images/0321335724/samplechapter/seacord_ch05.pdf
第166页说:
涉及无符号操作数的计算永远不会溢出,因为 结果不能用得到的无符号整数表示 类型被模减为比 结果类型可以表示的最大值。
这是什么意思?感谢您的回复。
【问题讨论】:
-
那是……误导。它溢出了。但它以一种明确的方式这样做,即以他们解释的方式包装。
-
@harold:这是语义问题。例如,C++ 标准的作者说它不会溢出,因为模运算将结果保持在范围内;他们只使用该术语来描述有符号溢出,这是一个给出未定义行为的错误。
-
@harold 它来自 n1570 标准§6.2.5/9