我对这段代码有疑问,有人可以为我解决这个问题吗?
a=32, b=0xE
我需要解释"案例2":
case 2: b>>=(a>>5); break;
答案 0 :(得分:2)
首先,0xE
是14
的十六进制表示法现在根据您的问题
b >>= (a>>5)
和a = 32; b = 14;
使用右移运算符(>>)
b = b >> (a >> 5)
然后
b = 14 >> (32 >> 5)
然后
b = 14 >> 1
然后
b = 7
答案 1 :(得分:1)
case 2
是分配的按位移位。
b >>= (a>>5);
是
b = b >> (a >> 5);
<强>是强>
b = b >> (a / 2 / 2 / 2 / 2 / 2);
您可以将a
的右移扩展到2
除以。