为什么Integer.MIN_VALUE的负数给出相同的值?
内部正在发生哪种按位运算?
Java使用带符号数字的二进制补码表示。因此,更改符号操作包括两个步骤:
2147483648的表示如下:
2147483648
10000000000000000000000000000000
反转产生
01111111111111111111111111111111
加法1使其再次成为相同的数字,即
1
由于整数溢出。
你尚未登录,登录后可以
和开发者交流问题的细节
关注并接收问题和回答的更新提醒
参与内容的编辑和改进,让解决方法与时俱进
联系我
602392714
清零编程群