← 返回数字逻辑工具

数字逻辑 / 真值表

布尔逻辑表达式真值表生成器

输入一个或多个逻辑表达式,生成全部输入组合、中间子表达式和最终函数值。工具还会列出最小项与最大项,检验两个表达式是否等价,并支持导出 CSV、Markdown 或 LaTeX 格式的真值表。

输入一个或多个布尔表达式

可以使用变量 A–H,以及 NOT、AND、OR、XOR、NAND、NOR、XNOR、→、↔ 等运算符。也支持中文运算符“非、与、或、异或、与非、或非、同或”,以及撇号取非和 AB 形式的隐式与运算。

真值表分步示例

每个示例先给出预期结果,再用相同输入打开生成器。你可以用这些例子检查运算符写法、行顺序和常见布尔恒等式。

德摩根定律

NOT(A AND B) 与 NOT A OR NOT B 比较。

两个输出列均为 1110,因此两个表达式等价。

对整个与运算取非时,应把与改成或,并对两个输入分别取非。

载入此比较 →

逻辑蕴含

A → B

输入 00、01、10、11 对应的输出为 1101。

只有当 A 为 1 且 B 为 0 时,蕴含才为假,其最简形式是 A′ + B。

载入蕴含示例 →

异或

A XOR B

输出序列为 0110。

两个输入中恰好一个为 1 时,异或才为 1,因此最小项为 1 和 2。

载入异或示例 →

永真式检验

A OR NOT A

输出序列为 11,所有输入行都为真。

变量只能取 0 或 1,因此变量本身和它的反变量中必有一个为真。

载入永真式 →

分配律等价检验

A AND (B OR C) 与 (A AND B) OR (A AND C) 比较。

两个表达式的输出都是 00000111。

比较器会检查全部 8 行,因此两个输出列完全一致,就是完整的等价证明。

载入分配律比较 →

具有两个输出的全加器

SUM = A XOR B XOR C
CARRY = AB + AC + BC

SUM 为 01101001;CARRY 为 00010111。

两个函数共享相同的 8 个输入行,可以在一张多输出真值表中直接比较。

载入全加器 →

真值表生成器如何工作

生成器会先识别表达式中的变量,再建立全部二进制输入组合,并按运算优先级计算结果。含有 n 个变量的真值表共有 2ⁿ 行。中间列会显示各子表达式的函数值,便于检查运算顺序。

支持的布尔逻辑符号

可以输入 NOT、AND、OR、XOR 等英文运算符,也可以使用“非、与、或、异或”等中文运算符,以及 ¬、∧、∨、⊕、→、↔ 等符号。工具还支持 A′ 形式的取非和 AB 形式的隐式与运算。有歧义时,建议使用括号。

真值表示例

对于蕴含 A → B,只有当 A 为真且 B 为假时,输出才为假。按 00、01、10、11 排列时,输出列为 1、1、0、1。其标准与或式为 A′B′ + A′B + AB,最简形式为 A′ + B。

最小项、最大项和标准形式

每个最小项对应函数值为 1 的一个输入组合;每个最大项对应函数值为 0 的一个输入组合。将全部最小项相或,得到标准与或式;将全部最大项相与,得到标准或与式。

永真式、永假式和可满足式

永真式在每一行都为真,永假式在每一行都为假;既有真值又有假值的函数,在本工具中标记为非恒定函数,这也是实际数字逻辑中最常见的情况。

检验两个表达式是否等价

启用比较功能后,工具会在两个表达式的全部联合变量组合上求值。如果所有输出都一致,说明两者逻辑等价;否则会显示第一个能够证明差异的反例。

导出和继续分析

可以复制制表符文本或 Markdown、下载 CSV,或者复制 LaTeX 数组。标准形式和最简形式还可以直接传入卡诺图化简器,继续分析。

真值表生成器常见问题

真值表需要多少行?

含 n 个不同变量的真值表需要 2ⁿ 行。例如,4 个变量需要 16 行,8 个变量需要 256 行。

可以输入哪些布尔运算符?

支持非、与、或、异或、与非、或非、同或、蕴含和等价,也支持对应的英文单词与常用逻辑符号。

中间列表示什么?

中间列记录每个子表达式在所有输入组合下的值,让运算顺序和输入错误更容易被发现。

可以比较两个表达式吗?

可以。工具会对两个表达式使用相同的联合变量集合,并报告等价结果或第一个反例。

最小项和最大项有什么区别?

最小项对应函数值为 1 的一行,最大项对应函数值为 0 的一行。

可以导出生成的真值表吗?

可以复制为制表符文本或 Markdown,下载 CSV,或者复制 LaTeX 数组。