我认为答案很简单,但我仍然不明白。
byte a=5; int b=10; int c=a>>2+b>>2; System.out.print(c);
由于a>>2是1和b>>2是2,我期待输出为3但0。什么原因?
a>>2
1
b>>2
2
3
0
这是因为运算符优先级。
您所做的与
int c=(a>>(2+b))>>2;
你要这个 :
int c=(a>>2)+(b>>2);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
点击生成二维码
我来说两句