非運算符是什么意思?
非運算符(~)
運算規則:如果位為0,結果是1,如果位為1,結果是0.
在Java中,所有數據的表示方法都是以補碼的形式表示
如:~37
8轉為二進制是100101.
補碼后為: 00000000 00000000 00000000 00100101
取反為: 11111111 11111111 11111111 11011010
因為高位是1,所以原碼為負數,負數的補碼是其絕對值的原碼取反,末尾再加1。
因此,我們可將這個二進制數的補碼進行還原: 首先,末尾減1得反碼:11111111 11111111 11111111 11011001 其次,將各位取反得原碼:
00000000 00000000 00000000 00100110,此時二進制轉原碼為38
所以~37 = -38
上一篇電腦可以卸載java嗎
下一篇字節跳動主要是做哪些產品