java 负整数的二进制运算[重复]

zqdjd7g9  于 2023-06-20  发布在  Java
关注(0)|答案(1)|浏览(119)

此问题已在此处有答案

Java: right shift on negative number(3个答案)
2天前关闭。
System.out.print((-15)&(-1 >> 1));
为什么上面的代码返回-15?
是否应该将MSB设置为0,因为位掩码为(-1 >> 1),即0111111
我期待一个正整数,但它返回-15。逻辑不清楚。好心帮忙

yftpprvb

yftpprvb1#

根据java docs
无符号右移运算符“>>>”将零移到最左边的位置,而“>>”之后的最左边位置取决于符号扩展。
所以你要留着这个牌子你可能需要一个

相关问题