Bit hack to generate all integers with a given number of 1s
From Bit Twiddling Hacks Update Test program Live On Coliru #include <utility> #include <iostream> #include <bitset> using I = uint8_t; auto dump(I v) { return std::bitset<sizeof(I) * __CHAR_BIT__>(v); } I bit_twiddle_permute(I v) { I t = v | (v – 1); // t gets v’s least significant 0 bits set to 1 // Next set … Read more