java计算

来源:百度知道 编辑:UC知道 时间:2024/06/23 20:40:58
class Test{
public static void main(String args[]){
int n=7;
n<<=3;
n=n&n+1|n+2^n+3;
n>>=2;
System.out.println(n);
}
}
这道题的结果是14 可我算不出来啊 请会的人帮忙看一眼 给讲一下 怎么算出的14啊 谢谢啦

n: 111
n<<3: 111000
n+1: 111001
n+2: 111010
n+3: 111011
n&n+1: 111000
n+2^n+3: 1
n=n&n+1|n+2^n+3: 111001
n>>2: 1110
最后n=8+4+2=14

帮你调了一下
执行完 n<<=3 后 ,n=56
执行完 n=n&n+1|n+2^n+3后,n=57
执行完 n>>=2 后,n=14
至于为什么会有这结果我也不知道,希望能帮到你一点