如何使用移位运算符否定数字

时间:2015-03-25 12:42:27

标签: java algorithm data-structures

我需要使用移位运算符否定数字。 例: 如果number = 5,那么5的否定应为-5 如果number = -5则-5的否定应为5.

1 个答案:

答案 0 :(得分: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它是二进制补码的例子,用于二进制有符号数表示