【发布时间】:2021-06-27 23:04:59
【问题描述】:
我了解>>> 修复了溢出:当添加两个大的正长时,您最终可能会得到一个负数。有人能解释一下这种按位移位如何神奇地解决溢出问题吗?它与>> 有何不同?
我的怀疑:我认为这与 Java 使用二进制补码这一事实有关,因此如果我们有额外的空间,溢出是正确的数字,但因为我们没有,所以它变成了负数。因此,当您移位并用零填充时,由于二进制补码,它会神奇地固定。但我可能是错的,有位头脑的人必须确认。 :)
【问题讨论】:
-
我假设你指的是the binary-search bug?
-
你怎么知道它修复了溢出问题?还有,什么溢出问题?
-
约书亚·布洛赫告诉我:googleresearch.blogspot.com/2006/06/…
标签: java bit-manipulation bitwise-operators binary-search