Существует ли инструкция x86 (_64), которая дает индекс старшего (или младшего) бита '1'? - PullRequest
1 голос
/ 26 сентября 2010

Как сказано.например, для 8-битного (например, без учета порядка следования байтов) целого числа 00100100, есть ли инструкция, дающая 5?

Заранее спасибо,

Ответы [ 2 ]

4 голосов
/ 26 сентября 2010

Технически, нет.Есть BSR , чтобы найти самый старший установленный бит, и BSF , чтобы найти самый младший установленный бит, но наименьший элемент, с которым будет работать, - это 16-битное слово.

2 голосов
/ 26 сентября 2010

Да, BSR . Однако обратите внимание, что на странице bithack утверждается, что по крайней мере на одном процессоре последовательность операций (развернутый цикл) операций сдвига битов выполняется быстрее, чем один BSR.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...