Я написал следующие строки:bitsets бинарная операция И
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' начинает ноль, что вы "и" он с, вы получите ноль. Что вы ожидали? –