Загружаем изображение…

Алгоритму почти 70 лет, и он по-прежнему в ядре Linux.



В 1957 году Уилкс, Уиллер и Гилл предложили эффективный способ подсчёта установленных битов в числе, обходясь без циклов. Они использовали маски и арифметику для работы с группами битов.

Сначала считаются биты парами, затем группами по 4, потом — по байтам. В завершение умножение собирает сумму в старший байт.

Если в процессоре нет инструкции POPCNT, Linux применяет аналогичный метод в __sw_hweight64.

Этот пример показывает, как старый битовый трюк с годами не потерял актуальность в современном коде.
Просмотры: 2 289
Открыть в MAX Сообщить о неточности

Репосты публикации

Публикация канала

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти