//?7、位非(?~?)
//?操作數的第n位為1,那么結果的第n位為0,反之。
System.out.println(~5);//?結果為-6
1 回答
已采納

JustWannaHugU
TA貢獻452條經驗 獲得超796個贊
正數的原碼反碼補碼都相同
原碼:00000000 00000000 00000000 00000101
反碼:00000000 00000000 00000000 00000101
補碼:00000000 00000000 00000000 00000101
取反:11111111 11111111 11111111 11111010
1代表符號位(負數) 這時11111111 11111111 11111111 11111010是某個數的補碼
負數的補碼為反碼+1
所以反碼為(補碼-1):11111111 11111111 11111111 11111001
負數原碼到反碼,符號位不變其余取反
所以原碼為:10000000 00000000 00000000 00000110
得到 -6
望采納
添加回答
舉報
0/150
提交
取消