int x = 10;
的System.out.println(〜X);
//这将打印-11
//如何使用补码算法手动进行计算
答案 0 :(得分:1)
这是一个否定算子,它会考虑~x = - (10 + 1),所以你得到-11作为输出。参考一些C书,你可以获得更多关于此
的解释答案 1 :(得分:0)
这可能对您有所帮助:您可以打印出整数的位,如下所示。在那里,您可以看到int表示为32位值。关于按位非运算符的解释可以在网上找到我猜;
int x = 10;
System.out.println(Integer.toBinaryString(x)); //00000000000000000000000000001010
System.out.println(Integer.toBinaryString(~x)); //11111111111111111111111111110101
System.out.println(~x); //-11