Java 中的 16 位桶式移位
我正在尝试对 Java 中的 int 进行右旋转(桶移位),例如
Input: 0000 0000 0110 1001
Output: 1000 0000 0011 0100
我知道我可以进行右移位 (>>
),但是我不知道如何进行结合它来创建旋转(我很确定这是可能的!)。
我认为 java.lang.Math 中有一个方法,但我正在寻找如何仅使用轮班的方法。
有什么想法吗?
I'm trying to do a rotate right (barrel shift) on an int in Java, e.g.
Input: 0000 0000 0110 1001
Output: 1000 0000 0011 0100
I know I can do a right shift (>>
), however I can't work out how to combine this to create a rotate (I'm pretty sure it's possible!).
I think there is a method in java.lang.Math
but I'm looking to work out how to use shifts only.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我不确定是否有一个单一的操作可以做到这一点。但类似:
就可以了。
I'm not sure there's a single operation for this. But something like:
would do the trick.