gpt4 book ai didi

java - 移位运算符的输出是什么类型?

转载 作者:行者123 更新时间:2023-11-30 03:42:05 26 4
gpt4 key购买 nike

我有以下代码

 public static void main(String[] args){
//find sign of 32 bit integer
int a=0x6348987C;
a=a>>31;
int one=a&1;
if( one==0 )
{
System.out.println("Positive");
}
else
{
System.out.println("Negative");
}

}

如果我用 if( a&1 ==0 ) 更改比较行,编译会失败,运算符 & 不能应用于 int,boolean,让我想知道移位运算符的结果类型是什么。

最佳答案

就运算符优先级而言,== 相等运算符先于按位 AND 运算符(请参阅 this page )。您应该放置括号以使后者位于前面:

if ((a & 1) == 0) {

请注意,a & 1 结果的类型与原始代码中的 one 类型相同(int)。

关于java - 移位运算符的输出是什么类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26613614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com