Векторы из 0 и 1 длины n можно рассматривать как представления целых чисел от 0 до

в двоичной системе счисления.
Их перебор можно организовать по-разному: например, прибавляя каждый раз к числу (в двоичном представлении) 1 и учитывая все переносы (по сути сложение столбиком как его учат в школе); или же, например, используя коды Грея и т.д.