int a =-15;
System.out.println(~a);
System.out.println(a);
结果是:
14
-15
~a 是a的取反然后减1,然而a的值并没有改变。 至于为啥 我也不清楚。
10 的2进制为00000000 00000000 00000000 00001010
~:取反符号
~10即为:11111111 11111111 11111111 11110101 就是-11
在详细你就得画2进制表了那么多能画死你
~表示按位非
位取反
一个int是32位,那么10的二进制数为00000000000000000000000000001010,把10按位求非后的结果为11111111111111111111111111110101,转换为10进制之后即为-11
啥子意思~