即使会溢出,也能得到正确的结果

Posted yangguang-it

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了即使会溢出,也能得到正确的结果相关的知识,希望对你有一定的参考价值。

技术分享图片

有符号数的溢出本就是不确定的,可能是舍弃符号位,可能是保留符号位。

但即使是这样,上面的结果也是正确的。

复杂的数学推倒就不打算研究了。

通俗理解就是,上面的语句,即使溢出去,也会溢回来。

链接:https://www.nowcoder.com/questionTerminal/55bf0d019af549a48f5dc72fc9221377
来源:牛客网

举个栗子
交换-5, -7。 以4bit为例。
-5 = 1011 (补码)    -7 = 1001 (补码)
(-5)+ (-7)= 10100=0100=4 (溢出后为4)
4-(-7)= 4 +7=0100 + 0111 = 1011 = -5的补码
4-(-5)= 4 + 5 = 0100 + 0101 = 1001 = -7的补码

 



以上是关于即使会溢出,也能得到正确的结果的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS:为啥即使显示正确,我也会得到 NaN?

INT_MAX (2147483647) 和INT_MIN (-2147483648)溢出

即使CommonTermsQuery包含在jar中我也能得到NoClassDefFoundError,我可以在构建路径中看到它。可能是什么问题?

即使在从服务器获得响应后,失败函数也会得到回调

即使查询相同,PHP 返回的结果也比 phpmyadmin 少

如何解决可能的乘法溢出以获得正确的模数运算?