布尔表达式转换器
每行一条:最小项模式写「变量表; 行号」如 A,B,C; 0,2,5,7,或「变量个数; 行号」如 3; 0,2,5,7;表达式模式写 SOP 如 A'B + AC' 或 POS 如 (A+B')(A'+C)
输入模式:
变量顺序:
分隔符:
计算结果
下载 CSV
| 序号 | 形式 | 逻辑表达式 | 最小项 Σm | 最大项 ΠM |
|---|
工具介绍及使用方法
布尔逻辑表达式双向转换工具,一个输入框完成「与或式 ⇄ 或与式」「最小项 ⇄ 最大项」「真值表行号 ⇄ 标准式」三类互换,每行一条、可批量处理。
三种输入模式:
1. 最小项列表 → 表达式:写「变量表; 行号」,如
2. SOP 表达式 → POS:如
3. POS 表达式 → SOP:如
支持的记号:取反写
每一行都会给出四种等价形式:标准与或式 SOP(Σm)、标准或与式 POS(ΠM)、最小项编号、最大项编号。变量顺序可选「首次出现」或「字母顺序」,它决定位序,因此会直接影响行号(重排时行号自动同步换算)。
实现上没有使用 eval 或 new Function:而是自写「词法分析 → 递归下降 → 语法树 → 递归求值」,对最多 2^8 = 256 行枚举真值表,再由行号生成标准 SOP/POS(与卡诺图无关的代数法),最后断言「minterms 与 maxterms 恰好覆盖全部行号且不相交、并与原表达式的逐行求值结果一致」,不一致会明确提示,保证结果规范、可验证。本工具只做表达式形式互转,不输出完整真值表(生成真值表请用「真值表生成器」)。
三种输入模式:
1. 最小项列表 → 表达式:写「变量表; 行号」,如
A,B,C; 0,2,5,7;也可只写变量个数,如 3; 0,2,5,7,变量自动命名为 A、B、C。行号前加 Σm(...) 表示最小项、加 ΠM(...) 表示最大项(自动取补集)。2. SOP 表达式 → POS:如
A'B + AC'。3. POS 表达式 → SOP:如
(A+B')(A'+C)。支持的记号:取反写
'(后置)或 ! / ¬ / NOT(前置);或写 + / | / OR;与写 . / * / AND,也可直接连写(AB 就是 A 与 B);变量为单个字母或字母加数字(A、B1、x2),变量数最多 8 个;另支持常量 0 / 1。每一行都会给出四种等价形式:标准与或式 SOP(Σm)、标准或与式 POS(ΠM)、最小项编号、最大项编号。变量顺序可选「首次出现」或「字母顺序」,它决定位序,因此会直接影响行号(重排时行号自动同步换算)。
实现上没有使用 eval 或 new Function:而是自写「词法分析 → 递归下降 → 语法树 → 递归求值」,对最多 2^8 = 256 行枚举真值表,再由行号生成标准 SOP/POS(与卡诺图无关的代数法),最后断言「minterms 与 maxterms 恰好覆盖全部行号且不相交、并与原表达式的逐行求值结果一致」,不一致会明确提示,保证结果规范、可验证。本工具只做表达式形式互转,不输出完整真值表(生成真值表请用「真值表生成器」)。
留言板
全部留言 →-
还没人说话,来占个沙发?