首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java:检查长整型中的位是0还是1

Java:检查长整型中的位是0还是1
EN

Stack Overflow用户
提问于 2009-07-07 13:41:44
回答 14查看 81.9K关注 0票数 79

您将使用什么方法来确定表示2^x的位是1还是0?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2009-07-07 13:42:54

我会使用:

代码语言:javascript
运行
复制
if ((value & (1L << x)) != 0)
{
   // The bit was set
}

(您可能可以使用较少的括号,但我从来不记得按位操作的优先顺序。)

票数 186
EN

Stack Overflow用户

发布于 2009-07-07 14:05:01

另一种选择:

代码语言:javascript
运行
复制
if (BigInteger.valueOf(value).testBit(x)) {
    // ...
}
票数 101
EN

Stack Overflow用户

发布于 2009-07-15 10:26:53

我想知道是不是:

代码语言:javascript
运行
复制
  if (((value >>> x) & 1) != 0) {

  }

..更好是因为值是否很长并不重要,或者更糟糕是因为它不那么明显。

汤姆·霍廷-7月7日14:16的抢断线

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1092411

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档