повернуть вправо без побитовых операторов - PullRequest
1 голос
/ 03 августа 2010

Как я могу реализовать операции правого поворота (и левого поворота) для 32-разрядных целых чисел без использования побитовых операций?

Мне это нужно, потому что High Level Shader Language (HLSL) не допускает побитовые операции над числами, и мне нужно повернуть вправо для конкретного шейдера, который я пытаюсь реализовать.

1 Ответ

5 голосов
/ 03 августа 2010

Для целых чисел без знака разделите на 2 и добавьте 2 ^ 32, если число было нечетным, для правого поворота.Для левого, умножьте на два и добавьте 1, если это было выше 2 ^ 32 - 1.

...