Выход BX_ (x) - это число битов в каждой шестнадцатеричной цифре. Так
BX_(0x0123457F) = 0x01121234
Следующее:
((BX_(x)+(BX_(x)>>4)) & 0x0F0F0F0F)
перетасовывает счет в байты:
((BX_(0x0123457F)+(BX_(0x0123457F)>>4)) & 0x0F0F0F0F) = 0x01030307
Принимая этот результат, по модулю 255 складываются отдельные байты для получения правильного ответа 14. Чтобы убедиться, что это работает, рассмотрим только двухбайтовое целое число, 256 * X + Y. Это всего лишь 255 * X + X + Y, а 255 * X% 255 всегда равно нулю, поэтому
(256*X + Y) % 255 = (X + Y) % 255.
Это распространяется на четырехбайтовые целые числа:
256 ^ 3 * V + 256 ^ 2 * W + 256 * X + Y
Просто замените каждые 256 на (255 + 1), чтобы увидеть, что
(256^3*V + 256^2*W + 256*X + Y) % 255 = (V + W + X + Y) % 255.
Последнее замечание (которое я рассмотрел на примере двузначного примера) состоит в том, что V + W + X + Y
всегда меньше 255, поэтому
(V + W + X + Y) % 255 = V + W + X + Y.