在Java中按位运算后,为什么负值乘以-1不能得到正值?

时间:2019-02-01 05:04:55

标签: java bitwise-operators

我尝试将负值乘以-1,但本身得到的负值相同:

long longValue = Long.MAX_VALUE;
int i = (int) (longValue ^ (longValue >>> 32));
int a = i * -1;
//prints -2147483648
System.out.println(i);

//prints -2147483648
System.out.println(a);

在上面的代码中,ia都打印一个负值。为什么a没有分配正值?

0 个答案:

没有答案