teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

修正

2017/12/18 01:15

投稿

Zuishin
Zuishin

スコア28675

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  `|` はビット演算子(bit operator)の一つで `||` は論理演算子(logical operator)の一つです。
2
2
 
3
3
  `|` 演算子は二つの数値のビットを立っている(1 である)方に合わせます。
4
- たとえば十進数の 10 は二進数で表すと 1010 に、受信数の 3 は二進数で表すと 0011 になりますが、これを `|` で演算すると 1011 になります。10 の立っているビットが一番目と三番目、3 の立っているビットが三番目と四番目なので、演算後は一番目と三番目と四番目が立ちます。
4
+ たとえば十進数の 10 は二進数で表すと 1010 に、十進の 3 は二進数で表すと 0011 になりますが、これを `|` で演算すると 1011 になります。10 の立っているビットが一番目と三番目、3 の立っているビットが三番目と四番目なので、演算後は一番目と三番目と四番目が立ちます。
5
5
 
6
6
  `||` 演算子はビット演算ではなく論理演算をします。
7
7
  論理演算というのは `if` 文の丸かっこの中で行われている演算です。