Найти наиболее значимый и наименее значимый бит, установленный в 64-разрядном целом числе? - PullRequest
2 голосов
/ 23 декабря 2010

Я пытаюсь сделать это в программе на C ++ в Windows, используя Visual C ++.Мне нужно только поддерживать 64-битные цели.Я знаю о взломах, которые используют деление или умножение, чтобы получить информацию, но я хотел бы знать, есть ли более быстрый неуниверсальный способ сделать это ... Я бы даже рассмотрел встроенную сборку, но вы не можете сделать это в VSдля 64-битной.

1 Ответ

1 голос
/ 23 декабря 2010

Если переносимость кода не является проблемой, попробуйте _BitScanForward64 и _BitScanReverse64. Они являются неотъемлемой частью компилятора и соответствуют одной эффективной инструкции ассемблера.

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