3

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

int kk = 2 | 3;

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

我在源码中遇到了

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

为什么我们需要使用它?

4

4 回答 4

8

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

于 2012-05-18T07:08:21.130 回答
4

bitwise inclusive or operator

于 2012-05-18T07:08:22.660 回答
2

| 是位运算符。在您的情况下, 2|3 将产生 3 因为 2 是 10 而 3 是 11. 10 | 11 = 11.

于 2012-05-18T07:10:48.230 回答
1

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

于 2012-05-18T07:54:14.460 回答