Unity C# | Bool論理演算

bool値の真理値表です。

真理値表

using UnityEngine;
namespace BlueBreath.Practice
{
    public class BoolMemo : MonoBehaviour
    {
        bool inA, inB;
        public bool NOT(bool inA) => !inA;
        public bool AND(bool inA, bool inB) => inA & inB;
        public bool CAND(bool inA, bool inB) => inA && inB;
        public bool OR(bool inA, bool inB) => inA | inB;
        public bool COR(bool inA, bool inB) => inA || inB;
        public bool XOR(bool inA, bool inB) => inA ^ inB;
        public bool NAND(bool inA, bool inB) => !(inA && inB);
        // Start is called before the first frame update
        void Start(){}
        // Update is called once per frame
        void Update(){}

    }
}

論理否定演算子「!」(NOT)

入力A出力
falsetrue
truefalse

論理積演算子「&」(AND)

入力A入力B出力
falsefalsefalse
falsetruefalse
truefalsefalse
truetruetrue

条件付き論理積演算子「&&」(AND)

入力A入力B出力
falsefalse
falsefalse
truefalsefalse
truetruetrue

a && bに対して、aがfalseの時、bを評価しません。

論理和演算子「|」(OR)

入力A入力B出力
falsefalsefalse
falsetruetrue
truefalsetrue
truetruetrue

条件付き論理和演算子「||」(OR)

入力A入力B出力
falsefalsefalse
falsetruetrue
truetrue
truetrue

a && bに対して、aがtrueの時、bを評価しません。

排他的論理和演算子「^」(XOR)

入力A入力B出力
falsefalsefalse
falsetruetrue
truefalsetrue
truetruefalse

論理積否定「!(A&&B)」(NAND)

※単体の演算子ではありません。

入力A入力B出力
falsefalsetrue
falsetruefalse
truefalsefalse
truetruefalse

優先順位

優先度が高いほうが先に計算されます。

優先度の高い順に並べると以下のようになります。

  1. 論理否定「!」
  2. 論理積「&」
  3. 論理排他的「^」
  4. 論理和「|」
  5. 条件付き論理積「&&」
  6. 条件付き論理和「||」

優先順位を変更するには、()かっこで括ります。

参考

ブール論理演算子 (C# リファレンス)

コメント

タイトルとURLをコピーしました