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

出力は7です。最大3つの数値を加算しますが、これはどのように機能しますか?構文は何ですか?

4

6 に答える 6

10

これ|は、ビット単位のORであるためです。

100    4
011    3
---
111    7

したがって、結果は7になります。

ビット単位演算子の詳細が必要な場合は、「ビット単位およびビットシフト演算子」を参照してください。

于 2012-09-14T16:28:57.367 に答える
7

バイナリOR

  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

あなたは何をしようとしているのですか?あなたしているのは2進数または2つの数字です:

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

そのビットごとのOR演算子。説明 -

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 に答える