1
System.out.println(4 | 3);

输出为 7。它最多可以添加 3 个数字,但这是如何工作的?语法是什么?

4

6 回答 6

10

那是因为|按位或

100    4
011    3
---
111    7

所以结果是 7。

如果您想了解有关按位运算符的更多详细信息,请阅读:按位和位移运算符

于 2012-09-14T16:28:57.367 回答
7

二进制或

  3 = 011
  4 = 100
  ----------
3|4 = 111 = 7

这并不总是意味着添加

  2 = 10
  2 = 10
2|2 = 10 = 2
于 2012-09-14T16:29:42.063 回答
2

它正在执行二进制 OR 操作

0100    - this is a 4
0011    - this is a 3
 |
0111    - result is 7
于 2012-09-14T16:29:25.777 回答
2

你想做什么?你正在做的是一个二进制或两个数字:

0b011 
 ||
0b100
 ==
0b111 -> 7.
于 2012-09-14T16:29:31.720 回答
2
System.out.println(4 | 3);

它是一个按位或运算符。解释 -

4->100
3->011
   ----
   111 ->7
于 2012-09-14T16:30:22.670 回答
1
 3 =  0011
 4 =  0100
 |_____|
    |
    V
   0111 
    |
    V
    7
于 2012-09-14T16:56:42.940 回答