Изменения
→Подготовка
Заметим, что функция <tex>\lfloor \log_2 a \rfloor + 1</tex> просто выделяет номер самого значашего единичного бита.
Функция <tex>2^l\left\lfloor\frac{a}{2^l}\right\rfloor</tex> обнуляет все биты младше <tex>l</tex>-го.
Чтобы получить из отрезка число, кратное <tex>2^l</tex>, будучи уверенными, что оно там есть, достаточно обнулить <tex>l</tex> битов в правой границе отрезка.