Iterar a través de cada máscara de bit de entero en orden creciente de conteo de bits [duplicado]

Esta pregunta ya tiene una respuesta aquí:

Genere todas las cadenas binarias de longitud n con k bits establecidos 11 respuestas

¿Cuál es la forma más eficiente de iterar a través de todas las máscaras de bits del entero en el orden creciente de conteo de bits?

Al principio solo necesito iterar a través de máscaras de un bit:

0001 0010 0100 1000

luego a través de máscaras de dos bits:

0011 0101 1001 0110 1010 1100

y así.

Respuestas a la pregunta(1)

Su respuesta a la pregunta