【问题标题】:Set the rest of the bits to 1 in Java在 Java 中将其余位设置为 1
【发布时间】:2014-11-17 23:11:17
【问题描述】:

我需要一些有关按位运算的帮助。 我有数字(64 位),前 16 位是有意义的,我想将其余的设置为“1”

00000000 11000001 00000000 00000000 ...

00000000 11000001 11111111 11111111 ...

附:哦耶!有时,要解决 - 你只需要写出你的任务:)

我明白了:value |= (-1

bitsCount - 我有意义的位数的计数

【问题讨论】:

  • 你有什么尝试吗?
  • 你说你的数字是 64 位,然后你给出 32 位的值。是哪个?
  • 请说明图中哪些位是“第一”位。告诉我们“当前值”的基数为 10 的值。

标签: java bit-manipulation bitmask


【解决方案1】:

使用按位或运算符:

value |= 0xFFFF

11111111111111112 = 216 - 1= FFFF16

【讨论】:

    【解决方案2】:

    或它与11111111 11111111foo | 0xffff

    【讨论】:

      猜你喜欢
      • 2018-11-05
      • 1970-01-01
      • 1970-01-01
      • 2013-08-26
      • 1970-01-01
      • 2013-10-30
      • 2011-09-01
      • 2013-09-19
      • 1970-01-01
      相关资源
      最近更新 更多