java - 如何使用移位运算符取反一个数

标签 java algorithm data-structures

<分区>

我需要使用移位运算符取反一个数字。 例子: 如果 number = 5 那么 5 的负数应该是 -5 如果 number =-5 那么 -5 的负数应该是 5。

最佳答案

不使用移位运算符,但还有其他使用它们的按位运算符,您可以这样做

    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

顺便说一句,它是二进制补码的示例,用于二进制有符号数表示

关于java - 如何使用移位运算符取反一个数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29256002/

相关文章:

java - 客户端断开后进程是否仍然继续

c# - 字节公因数

objective-c - 实现 -hash/-isEqual :/-isEqualTo. ..:用于 Objective-C 集合

algorithm - Sublime Text 使用哪种算法/数据结构进行文件搜索

java - 使用 java 邮件时内存不足

javascript - 如何使用 Selenium WebDriver 和 Java 从元素中检索文本

java - jersey 如何在一个资源中创建静态成员

c# - 如何改变色调

algorithm - 由矩形制成的形状中的矩形最少数量?

algorithm - 关于位计数器的说明