Поймите и затем запомните "один раз и навсегда", как решаются подобные задачи.
110₂ = 1×2²+1×2¹+0×2⁰ = 4+2 = 6₁₀
А теперь посмотрим на картинку во вложении.
Три младших разряда, дающие требуемые 110₂, мы не трогаем. А в старшие разряды начинаем добавлять по +1, получая из 000 значения 001, 010, 011...
А это ни что иное, как числа 0, 1, 2, ... но только с четвертого бита, а не с первого, поэтому они будут множителями числа 2³ = 8. И будем получать последовательно 0, 8, 16, ... Остается только прибавлять к ним наше исходное 6, получая ряд 6, 14, 22, ...
Долго? Но это из-за разъяснения.
А вот пример. Пусть нам надо найти числа, не превышающие 31, такие, что в трех младших разрядах будет 101₂. Как решить?
101₂ = 5. Три бита заняты, счетчик пойдет с четвертого, давая множители 2³=8. Получаем ряд 5, 8+5=13, 2×8+5=21, 3×8+5=29.
Еще пример. Пусть теперь в младших разрядах записано 1010, а границей будет 45.
1010₂ = 10₁₀. Занято 4 разряда, поэтому счетчик пойдет с пятого, порождая множители кратные 2⁴ = 16. Получаем 10, 16+10=26, 2×16+10=42, ...