int a=10; System.out.println(~a);要有详细的步骤,谢谢了

答案怎么是-11?不是-5?
2024年11月20日 18:45
有5个网友回答
网友(1):

int a =-15;
System.out.println(~a);
System.out.println(a);
结果是:
14
-15

~a 是a的取反然后减1,然而a的值并没有改变。 至于为啥 我也不清楚。

网友(2):

10 的2进制为00000000 00000000 00000000 00001010
~:取反符号
~10即为:11111111 11111111 11111111 11110101 就是-11
在详细你就得画2进制表了那么多能画死你

网友(3):

~表示按位非
位取反

网友(4):

一个int是32位,那么10的二进制数为00000000000000000000000000001010,把10按位求非后的结果为11111111111111111111111111110101,转换为10进制之后即为-11

网友(5):

啥子意思~