論理積の演算は、演算子(
&&)を挟んだ被演算子が両方とも1(真)の
場合、1(真)となる。このことから、この演算子は、日本語で「かつ」と呼ば
れることも多い。これは、表
5に示す、この演算子の演算規則
を見ても明らかなように、0と1の積の演算と同じである。このことから論理積
と言われる。
使い方は、先に示したように、
a < b && b < c
のように、演算子の左右に式を書く。もちろん式でなくて、値を書いても良い。
0と1以外の値を書いた場合どうなるか?。C言語の規則では、0以外の場合は、
全て真として取り扱われる。即ち
a = 1 && 5
b = -5 && 20.5
の場合、
a=1, b=1となる。5や-5、20.5も真として取り扱われる。これは、以
降の論理和でも論理否定でも同じである。
表 5:
論理積
a |
b |
a && b |
0(偽) |
0(偽) |
0(偽) |
0(偽) |
1(真) |
0(偽) |
1(真) |
0(偽) |
0(偽) |
1(真) |
1(真) |
1(真) |
論理和の演算は、演算子(
||)を挟んだ被演算子の少なくとも一方が1
(真)の場合、1(真)となる。このことから、この演算子は、日本語で「または」
と呼ばれることも多い。これは、表
6に示す、この演算子の演
算規則を見ても明らかなように、0と1の和の演算と同じである
3。このことから
論理和と言われる。
使い方は、論理積と同様に、
a < b || b < c
と、演算子の左右に式を書く。もちろん式でなくて、値を書いても良い。
これも、0と1以外の値を書くことができる。論理積同様、0以外の場合は、
全て真として取り扱われる。
表 6:
論理和
a |
b |
a || b |
0(偽) |
0(偽) |
0(偽) |
0(偽) |
1(真) |
1(真) |
1(真) |
0(偽) |
1(真) |
1(真) |
1(真) |
1(真) |
論理否定の演算は、演算子(
!)の後ろに書く被演算子の値が0(偽)の場
合、1(真)となる。一方、被演算子の値が1(真)の場合、0(偽)となる。
このことを、表
7に示す。
使い方は、
!(a < b)
のように、演算子の後に被演算子を書く。
これも、0と1以外の値を書くことができる。論理積同様、0以外の場合は、
全て真として取り扱われる。
表 7:
論理否定
a |
!a |
0(偽) |
1(真) |
1(真) |
0(偽) |
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成16年9月7日