不使用按位运算符右旋转
如何在不使用任何按位运算的情况下对 32 位整数实现右旋转(和左旋转)运算?
我需要这个,因为高级着色器语言(HLSL)不允许对数字进行按位操作,并且我需要对我尝试实现的特定着色器进行右旋转。
How can I implement the rightrotate (and leftrotate) operations on 32 bit integers without using any bitwise operations?
I need this because High Level Shader Language (HLSL) does not allow bitwise oeprations upon numbers, and I need rightrotate for a specific shader I'm trying to implement.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
对于无符号整数,如果数字是奇数,则除以 2 并加上 2^32,以进行右旋转。对于左侧,乘以 2,如果大于 2^32 - 1,则加 1。
For unsigned integers, divide by 2 and add 2^32 if the number was odd, for right rotate. For left, multiply by two and add 1 if it was above 2^32 - 1.