【问题标题】:What does 'int kk = 2 | 3;' mean?'int kk = 2 | 是什么? 3;'意思是?
【发布时间】:2012-05-18 07:06:37
【问题描述】:

用java编程有一段时间了,没遇到过奇怪的表达方式

int kk = 2 | 3;

'|' 是什么意思在这个表达式中是什么意思?谷歌似乎很难。

我在源码中遇到过

i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);

为什么我们需要使用它?

【问题讨论】:

  • 提示:不要在谷歌搜索“java |”,而是在谷歌搜索“java operator”。
  • 谢谢大家。但是,为什么我们需要使用这个?
  • @topxebec:它可用于处理单个位,以及用于各种有趣的 hack:graphics.stanford.edu/~seander/bithacks.html

标签: java syntax operators


【解决方案1】:

这是一个bitwise or - 如果一个或两个输入在该位置设置了位,则将设置每个结果位。 2 是二进制的 10,3 是 11,所以结果也是 3。

【讨论】:

    【解决方案2】:

    【讨论】:

      【解决方案3】:

      |是bitwise Operator。在您的情况下,2|3 将产生 3,因为 2 是 10,3 是 11。10 | 11 = 11

      【讨论】:

        【解决方案4】:

        你可以看看http://vipan.com/htdocs/bitwisehelp.html 我认为它们是关于位移运算符的非常好的教程

        【讨论】:

          猜你喜欢
          • 2023-03-18
          • 1970-01-01
          • 2020-02-15
          • 2015-08-28
          • 2011-06-05
          • 1970-01-01
          • 2016-09-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多