論理演算子
論理演算子は、bool型の値を使って論理演算を行います。
論理演算子は、bool型の値同士で使用できます。数値型の値でも&
、|
、^
演算子を使用することがありますが、これについてはビット演算子をご覧ください。
論理否定演算子 !
論理否定演算子!
が先頭についたリテラルはその値の論理否定となります。次に例を示します。
論理積演算子 &
論理積(AND)演算子&
は、左右の値の両方がtrue
と評価された場合のみtrue
を返し、それ以外の場合false
を返します。
&
演算子は常に両方のオペランドを評価する一方、&&
演算子は左辺がfalse
と評価された時点で右辺は評価されません。
次に、この論理演算の真理値表を示します。
x |
y |
x & y |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
論理和演算子 |
論理和(OR)演算子|
は、左右の値の少なくとも一方がtrue
と評価された場合にtrue
を返し、それ以外の場合にfalse
を返します。
|
演算子は常に両方のオペランドを評価する一方、||
演算子は左辺がtrue
と評価された時点で右辺は評価されません。
次に、この論理演算の真理値表を示します。
x |
y |
x \| y |
---|---|---|
true |
true |
true |
true |
false |
true |
false |
true |
true |
false |
false |
false |
排他的論理和演算子 ^
排他的論理和(XOR)演算子^
は、左右の値が異なると評価された場合(すなわち、片方がtrue
と評価されたならばもう片方がfalse
と評価される場合)にtrue
を返し、それ以外の場合はfalse
を返します。つまりこの演算はbool
に対する!=
と同じ結果となります。次に例を示します。
次に、この論理演算の真理値表を示します。
x |
y |
x ^ y |
---|---|---|
true |
true |
false |
true |
false |
true |
false |
true |
true |
false |
false |
false |
条件付き論理積演算子 &&
条件付き論理積(AND)演算子&&
は、左右の値の両方がtrue
と評価された場合のみtrue
を返し、それ以外の場合false
を返します。
&
演算子は常に両方のオペランドを評価する一方、&&
演算子は左辺がfalse
と評価された時点で右辺は評価されません。
次に、この論理演算の真理値表を示します。
x |
y |
x && y |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
条件付き論理和演算子 ||
条件付き論理和(OR)演算子||
は、左右の値の少なくとも一方がtrue
と評価された場合にtrue
を返し、それ以外の場合にfalse
を返します。
|
演算子は常に両方のオペランドを評価する一方、||
演算子は左辺がtrue
と評価された時点で右辺は評価されません。
次に、この論理演算の真理値表を示します。
x |
y |
x \| y |
---|---|---|
true |
true |
true |
true |
false |
true |
false |
true |
true |
false |
false |
false |