【问题标题】:convert int to bit array and do rotation operation on these bits [duplicate]将int转换为位数组并对这些位进行旋转操作[重复]
【发布时间】:2013-02-28 12:44:25
【问题描述】:

有没有一种方法可以将 int 值转换为其位表示,然后旋转这些位并将它们转换回 JAVA 中的 int,例如

考虑到每个int是4个字节

17 = 0000 0000 0000 0000 0000 0000 0001 0001

在旋转或向右循环后让我们说 20 位

0000 0000 0000 0001 0001 0000 0000 0000  = 69632

【问题讨论】:

  • 酷。做吧,如果你有任何问题,在这里发布......
  • 你为什么坚持转换为位表示,而不是仅仅移动 int? (提示,使用 long 来捕获最高位。)
  • 10001 在二进制中是 17...
  • @ppeterka 我的意思是有办法做到这一点
  • Integer.rotateRight(17,20) 另见stackoverflow.com/q/5844084/995876

标签: java type-conversion bit-manipulation


【解决方案1】:

看看方法Integer.rotateLeftInteger.rotateRightInteger.toBinaryString。 Java API 中已经提供了您所需的一切。

【讨论】:

  • 谢谢,是的,它可以按我的意愿工作
  • 是否可以旋转整数而不影响整数@halex的符号位
猜你喜欢
  • 2017-05-10
  • 1970-01-01
  • 1970-01-01
  • 2018-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-02
相关资源
最近更新 更多