sab123: (Default)
SB ([personal profile] sab123) wrote in [personal profile] stas 2017-05-02 02:57 am (UTC)

Там масками складываются два бита в одну пару, потом пары в четверки и так далее:

n = (n & 0x5555) + ((n >> 1) & 0x5555);
n = (n & 0x3333) + ((n >> 2) & 0x3333);
n = (n & 0x0F0F) + ((n >> 4) & 0x0F0F);
n = (n & 0x00FF) + ((n >> 8) & 0x000FF);

Только не 16-разрядные числа как здесь, а сразу 64-разрядные, т.е. шагов будет больше. Я впрочем все равно подозреваю, что находить побайтно из таблички будет быстрее.

Post a comment in response:

This account has disabled anonymous posting.
(will be screened if not validated)
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting