我尝试根据给定的参数计算整数溢出。例如,如果我有一个小于 <= 200 的整数,但是当我将它插入到无符号整数时,它将 > 200。实际的算术过程是什么?
问问题
3743 次
1 回答
2
对固定大小整数的运算通常以 2 m为模,其中 m 是位数(现在通常为 32 或 64)。
这意味着从结果中添加或减去 2 m的倍数以使其保持在类型的范围内,无论是无符号 (0, 2 m -1) 还是有符号 (-2 m-1 , 2 m-1 - 1)。
您可能对计算机整数的数学基础感兴趣。
于 2013-03-05T08:07:00.527 回答