我想知道java如何发现按位运算的结果是-ve还是+ve?
int x=-5;
int y=8;
System.out.println(x&y); //8
System.out.println(x|y); //-5
x->1 0 1 1 (2's complement)
y->1 0 0 0
x & y -> 1 0 0 0 ->8
x | y -> 1 0 1 1 ->-5(2's complement)
java如何知道 1 0 1 1 是 -5 ?
为什么不直接将 o/p 作为 1 0 1 1 的十进制等效值 11 ?
它是否对每个结果都应用 2 的补码?
我看过汇编代码。它是 IAND 和 IOR 指令。