我的变量的初始值定义为:x = 10, y = 4, z = 1
以及y>>=x&0x2&&z
中的变量值是什么?
我愿意:
y >>= ((Fun1) && z)
Fun1 = x&0x2
,即1010 & 0010 = 0010
的位操作,或十进制的2;
Fun1 && z
返回1,或二进制为0001
然后我的问题是
的操作是什么y >>= 0001
给了我?
#include <iostream>
using namespace std;
int main()
{
int x = 10, y = 4, z = 1;
y >>= x&0x2&&z;
cout << "x: " << x << endl;
cout << "y: " << y << endl;
cout << "z: " << z << endl;
return 0;
}
答案 0 :(得分:6)
答案 1 :(得分:2)
y >>= 1
与
相同 y = y >> 1
所以它应该有效地将y除以2整数除。