本文最后更新于66 天前,其中的信息可能已经过时,如有错误请发送邮件到3082654005@qq.com
以下是常见逻辑运算符(非、与、或、异或、同或、与非、或非)的核心区别对比表,涵盖名称、符号、逻辑规则、真值表四大维度,清晰呈现各自特性:
常见逻辑运算符区别对比表
| 运算符名称 | 逻辑符号(逻辑代数) | 编程常用符号 | 核心逻辑规则(通俗描述) | 真值表(输入 A、B,输出 Y) |
|---|---|---|---|---|
| 非(NOT) | ¬ 或 ˉ | ! | 输入为 1 则输出 0,输入为 0 则输出 1(取反) | A=0→Y=1;A=1→Y=0 |
| 与(AND) | ∧ | && 或 & | 全 1 则 1,有 0 则 0(需所有条件满足) | 0∧0=0;0∧1=0;1∧0=0;1∧1=1 |
| 或(OR) | ∨ | || 或 | | 有 1 则 1,全 0 则 0(满足任一条件即可) | 0∨0=0;0∨1=1;1∨0=1;1∨1=1 |
| 异或(XOR) | ⊕ | ^ | 相异为 1,相同为 0(输入不同则成立) | 0⊕0=0;0⊕1=1;1⊕0=1;1⊕1=0 |
| 同或(XNOR) | ⊙ | 无通用符号 | 相同为 1,相异为 0(输入相同则成立) | 0⊙0=1;0⊙1=0;1⊙0=0;1⊙1=1 |
| 与非(NAND) | ↑ | 无通用符号 | 先 “与” 再 “非”:全 1 则 0,有 0 则 1 | 0↑0=1;0↑1=1;1↑0=1;1↑1=0 |
| 或非(NOR) | ↓ | 无通用符号 | 先 “或” 再 “非”:全 0 则 1,有 1 则 0 | 0↓0=1;0↓1=0;1↓0=0;1↓1=0 |
关键补充说明
- 一元 vs 二元运算符:
- 仅 “非(NOT)” 是一元运算符(只需要 1 个输入);
- 其余(与、或、异或等)均为二元运算符(需要 2 个输入)。
- 互逆关系:
- 异或(XOR)与同或(XNOR)互为 “非运算”,即
A⊕B = ¬(A⊙B); - 与非(NAND)是 “与运算的非”,即
A↑B = ¬(A∧B); - 或非(NOR)是 “或运算的非”,即
A↓B = ¬(A∨B)。
- 异或(XOR)与同或(XNOR)互为 “非运算”,即
- 应用场景差异:
- 与(AND):用于 “多条件同时满足” 判断(如 “成绩≥60 且 出勤≥90%”);
- 或(OR):用于 “多条件任一满足” 判断(如 “年龄 < 18 或 年龄 > 60”);
- 异或(XOR):常用于 “奇偶校验”“数据加密”“逻辑判断是否不同”(如前文浮点数溢出判断);
- 与非 / 或非:是数字电路的 “基本门电路”(可组合实现所有其他逻辑,性价比高)。