2016-12-23 2 views
-2

У меня есть 4 байтовых данных. Каждый бит будет действовать как коммутатор. Мне нужно включить/отключить коммутатор на основе значения битов в 4 байтовых данных. Что будет оптимизированный способ получить позиции бит, которые установлены из 32 бит.?Получить позицию установленного бита в C

ответ

0

Существует несколько способов достижения этого. 1) Сдвиг вправо и проверка всех битов и принятие соответствующего решения T.C для этого будет O (32). 2) Если необходимо принять решение о назначении фиксированных позиций, вы можете создать маску, а затем выполнить двоичный код и операцию «&» и принять решение. Снова T.C в O (32).

Я могу думать о нескольких подобных подходах.

Смежные вопросы