LINUX.ORG.RU

История изменений

Исправление xaizek, (текущая версия) :

power(2, n) эквивалентно 1 << n.

Здесь:

tailX = x & (power(2, p - n + 1) - 1);
как-то странно, я бы ожидал, что хвост это последние p бит, т.е.
tailX = x & (power(2, p) - 1);

И кажется проще не сдвигать x, а сдвигать маску и биты из y, тогда не нужно восстанавливать потерянные биты.

Исходная версия xaizek, :

power(2, n) эквивалентно 1 << n.

Здесь:

tailX = x & (power(2, p - n + 1) - 1);
как-то странно, я бы ожидал что хвост это последние p бит, т.е.
tailX = x & (power(2, p) - 1);

И кажется проще не сдвигать x, а сдвигать маску и биты из y, тогда не нужно восстанавливать потерянные биты.