0

我试图理解 Java 中的按位 NOT 运算符。

在运行以下代码时,我得到的输出为 -6。

class Test {
    public static void main (String[] args) {
        int x = 5;
        System.out.println(~x);
    }
}

在运行这个时,我得到的输出为 4。

class Test {
    public static void main (String[] args) {   
        int x = -5;  
        System.out.println(~x);
    }
}

我在谷歌上搜索过这个并了解到数字在 Java 中存储为 2 的补码,但我真的无法弄清楚我们是如何得出上述结果的。我知道要找到 2 的补码,我需要将数字转换为二进制格式,然后必须做一个 1 的补码,这只是位的倒数,然后将 1 添加到 1 的补码,但在纸上我没有得到显示的那些输出由程序。我不知道我哪里出错了。

你能帮我理解这个概念吗?

4

0 回答 0