2015-03-25 45 views
0

我需要使用移位運算符來否定數字。 例如: 如果數= 5,然後5否定應該是-5 如果數量= -5則-5否定應該是5如何使用移位運算符否定數字

+6

只能使用換擋操作員進行操作。 – 2015-03-25 12:44:41

+3

你嘗試過什麼嗎?鑑於一個整數只有31個可能的變化,通過實驗不應該花太長時間來弄清楚嗎? – DNA 2015-03-25 12:44:47

+0

你爲什麼想要做這樣的事情? – beaker 2015-03-25 15:52:31

回答

1

不能與shiftoperator但使用它們,你可以做其他的位運算符這

int i = 10; 
    i = (~i)+1; 
    System.out.println(i); 
    i = (~i)+1; 
    System.out.println(i); 
    i = (~i)+1; 
    System.out.println(i); 
    i = (~i)+1; 
    System.out.println(i); 

結果

-10 
10 
-10 
10 

BTW是例如二進制補碼和用於二進制有符號數處理