Luc*_*ang 13 java memory integer
对不起,如果这是一个非常基本的问题,但为什么正面有一个减号?
是否与零存储或其他东西有关?我认为为二进制计算最高可能的十进制数只是为了增加2的幂,就像3位无符号它将是
1*2^0 + 1*2^1 + 1*2^2 = 7
Run Code Online (Sandbox Code Playgroud)
不应该相同的规则适用于java整数?谢谢
Ami*_*nde 14
因为Java可以支持max signed int,因为0x7fffffff
它是2 ^ 31-1.
2^31 = 0x80000000 is negative so Positive is 2^31-1
Run Code Online (Sandbox Code Playgroud)
二元级别的比较将是:
10000000000000000000000000000000 --> 2147483648 --> 2^31
01111111111111111111111111111111 --> 2147483647 --> 2^31 -1
^ Sign bit
Run Code Online (Sandbox Code Playgroud)
同样的规则确实适用...... 7
是2^3 - 1
.是的,这是因为0. :)
相反,负面因素 -(2^31)
所以有2^31
负数,一个0
和2^31-1
严格的正面,这增加了......
2^31 + 1 + 2^31 - 1 = 2 * 2^31 = 2^32
Run Code Online (Sandbox Code Playgroud)