我在这里有一个简单的程序:
#include <iostream>
#include <bitset>
using namespace std;
int main() {
unsigned char a = 0b11100111;
if((a & (1<<2)) == true) // THIS IS THE LINE
cout << "Entering if block!" << endl;
else
cout << "Too bad,maybe next time.." << endl;
bitset<8> x(a & (1<<2));
cout << x << '\n';
}
您能告诉我为什么这个if((a & (1<<2)) == true)
输出的原因:
太糟糕了,也许下次。
00000100
此if((a & (1<<2))
输出时:
输入是否阻止!
00000100
我正在使用g ++ -std = c ++ 14进行编译。