代码之家  ›  专栏  ›  技术社区  ›  Martin

无位运算符的右旋转

  •  1
  • Martin  · 技术社区  · 14 年前

    如何在不使用任何位操作的情况下对32位整数执行rightrotate(和leftrotate)操作?

    我需要这个,因为高级明暗器语言(HLSL)不允许对数字进行位操作,我需要对我正在尝试实现的特定明暗器进行右旋转。

    1 回复  |  直到 14 年前
        1
  •  5
  •   sje397    14 年前

    对于无符号整数,除以2,如果数字是奇数,则加2^32,表示右旋转。对于左边,乘以2,如果大于2^32-1,则加1。