计算器2026-05-10

Boolean 代数计算器:真值表、德摩根定律与逻辑化简

你写的每个 "if" 语句、你过滤的每个数据库查询以及你看到的每个搜索引擎结果都由 Boolean 逻辑驱动——这是一个每个变量严格为真或假(1 或 0)的数学系统。George Boole 于 1854 年在《思维定律》中发表了这种代数,它在数学系中安静地躺了近一个世纪,直到 Claude Shannon 意识到它可以描述电气开关电路,为有史以来每台数字计算机奠定了基础。今天,Boolean 代数支撑着从 SQL WHERE 子句到搜索引擎查询再到拥有数十亿逻辑门的微处理器设计的一切。我们的免费 Boolean 代数计算器让你可以输入任何 Boolean 表达式(最多 8 个变量),即时看到其真值表,使用代数规则和德摩根定律化简,并查看等效的逻辑门图——全部在浏览器中运行。

rule

布尔逻辑计算器

免费 · 无需注册

免费试用此工具 →open_in_new

分步指南

1

输入你的 Boolean 表达式

使用标准符号输入表达式:& 或 ∧ 表示 AND,| 或 ∨ 表示 OR,! 或 ¬ 表示 NOT,^ 或 ⊕ 表示 XOR。你可以使用括号进行分组,变量名如 A、B、C 直到 H。示例:(A & B) | (!A & C) 表示"要么 A 和 B 都为真,要么 A 为假且 C 为真"。计算器实时验证语法,并以适当的数学符号显示表达式的自动格式化版本。

2

查看真值表

真值表显示每种可能的输入值组合(n 个变量有 2ⁿ 行)及对应的输出。每行显示给定特定输入时表达式的计算结果为真还是假。对于 3 个变量(A、B、C),你将看到 8 行;对于 4 个变量,16 行。真值表有颜色编码——真输出为绿色,假输出为灰色——因此你可以立即扫描模式。这是理解 Boolean 表达式实际含义的最快方式。

3

应用化简并查看电路

点击"化简",计算器应用 Boolean 代数恒等式将你的表达式约简到最简形式。逐步面板显示每个阶段应用了哪条规则:幂等律(A&A=A)、补余律(A&!A=0)、吸收律(A|(A&B)=A)和德摩根定律。化简后的表达式与使用标准 ANSI/IEEE 符号的逻辑门图一起显示——AND(平背)、OR(弧背)、NOT(带气泡的三角形)、XOR(带额外线的 OR)。

使用技巧与最佳实践

check_circle

德摩根定律是两个最强大的 Boolean 恒等式:!(A & B) = !A | !B,以及 !(A | B) = !A & !B。它们让你将 AND 转换为 OR,反之亦然,同时将 NOT 向内推。在实际中:"不是(下雨 AND 冷)"等于"不下雨 OR 不冷"。这些定律对于化简复杂的 SQL WHERE 子句和搜索引擎查询至关重要。

check_circle

XOR(异或)运算符在恰好一个输入为真时返回真——它是"一个或另一个,但不能同时两个"的运算符。XOR 与常量 1 等于 NOT:A ⊕ 1 = !A。XOR 也是自身的逆运算:(A ⊕ B) ⊕ B = A。这种自逆性质使 XOR 成为许多加密方案和基本校验和算法的基础。

check_circle

NAND 和 NOR 被称为"通用门",因为你可以仅用 NAND 门(或仅用 NOR 门)构建 AND、OR 和 NOT。每个存在的数字电路理论上都可以约简为 NAND 门网络。事实上,NAND 闪存(用于 SSD 和 USB 驱动器)的名称就来自这个门。

check_circle

在代码中写 Boolean 条件时,条件的顺序影响短路求值。在 `if (cheapCheck() && expensiveCheck())` 中,如果 cheapCheck() 返回 false,expensiveCheck() 永不运行。把最快失败的条件放在前面——这是一个在紧密循环中累积效果的简单优化。

check_circle

真值表呈指数增长:n 个变量意味着 2ⁿ 行。在 8 个变量时是 256 行——仍然可管理。在 32 个变量时,你需要超过 40 亿行。这就是为什么大型数字电路的形式化验证使用 SAT 求解器和二元决策图,而不是暴力真值表。

check_circle

SQL 的三值逻辑(TRUE、FALSE、NULL)扩展了经典 Boolean 代数。在 SQL 中:NULL AND FALSE = FALSE(短路),但 NULL AND TRUE = NULL(未知),而 NULL OR TRUE = TRUE(短路)。在编写涉及可空列的数据库查询时,始终要考虑 NULL 传播——这是最微妙的查询 bug 的常见来源之一。

check_circle

卡诺图(K-map)是代数化简的可视化替代方案,适用于最多 4 个变量。将真值表排列在一个网格中,相邻单元格恰好相差一个变量;以 1、2、4 或 8 的大小圈出 1 的组;每个组对应一个化简后的乘积项。我们的计算器在代数化简旁边显示 2-4 变量表达式的卡诺图。

常见问题解答

德摩根定律指出:(1) NOT (A AND B) = (NOT A) OR (NOT B),(2) NOT (A OR B) = (NOT A) AND (NOT B)。它们描述了否定如何在 AND/OR 上分配。实际应用:否定复合 SQL 条件——`WHERE NOT (status='active' AND age>18)` 变为 `WHERE status!='active' OR age<=18`;写否定搜索查询——"狗 NOT (贵宾犬 OR 吉娃娃)" 变为 "狗 NOT 贵宾犬 AND NOT 吉娃娃";通过将反相器推过门来化简电路设计。

Boolean 代数是计算的隐藏语法——从 CPU 中的逻辑门到 SQL 中的 WHERE 子句再到 Google 中的搜索运算符。我们的计算器让这种代数变得可见,化简表达式、生成真值表,并绘制你的逻辑描述的电路。立即试用,看看你的条件真正意味着什么。

免费试用此工具 →open_in_new