我寫了下面幾行:位集的二進制與操作
std::bitset<4> bitvec; //bitset 0000
std::bitset<4> addition; //bitset 0000
addition.set(0); //setting the least significant bit
std::cout << addition << std::endl; //output 0001
std::cout << std::endl;
for(int x = 0; x != 16; ++x) { //addition loop
std::cout << bitvec << std::endl; //output
bitvec &= addition; //binary AND
}
std::cout << std::endl;
和我預期的輸出是:
0000
0001
0010
0011
0100
0101
....
但環只是輸出「0000」。我缺少什麼基本概念?
'bitvec'開出零,不管你 「和」 它,你會得到零。你在期待什麼? –