System.out.println(4 | 3);
出力は7です。最大3つの数値を加算しますが、これはどのように機能しますか?構文は何ですか?
これ|
は、ビット単位のORであるためです。
100 4
011 3
---
111 7
したがって、結果は7になります。
ビット単位演算子の詳細が必要な場合は、「ビット単位およびビットシフト演算子」を参照してください。
バイナリOR
3 = 011
4 = 100
----------
3|4 = 111 = 7
必ずしも加算を意味するわけではありません
2 = 10
2 = 10
2|2 = 10 = 2
バイナリOR演算を実行しています
0100 - this is a 4
0011 - this is a 3
|
0111 - result is 7
あなたは何をしようとしているのですか?あなたがしているのは2進数または2つの数字です:
0b011
||
0b100
==
0b111 -> 7.
System.out.println(4 | 3);
そのビットごとのOR演算子。説明 -
4->100
3->011
----
111 ->7
3 = 0011
4 = 0100
|_____|
|
V
0111
|
V
7