Здравствуйте, watch-maker, Вы писали:
WM>Здравствуйте, _typhoon, Вы писали:
_>>Мне кажется умножения в выражениях все же более ресурсоемко чем сравнение
WM>Ну, компиляторы ещё в прошлом веке научились использовать побитовый сдвиг вместо умножения на степень двойки.
WM>Хотя, конечно, запись с побитовыми операциями может оказаться более читаемой, ибо своим видом сразу покажет, что идёт работа с битами:
WM>WM>flags = (bit1value << bit1position) | (bit2value << bit2position).
WM>
В этом и суть вопроса, я не могу использовать тут побитовый сдвиг, потому что нет положения бита, есть только само значение. Конечно можно огород сделать с вычислением положения, а потом снова значение из него получать, но в этом и суть вопроса