无需登录 数据私有 本地保存

布尔代数化简器 - 卡诺图及表达式最小化

12
0
0
0
变量数:
变量:A, B
输入最小项
输入逗号或空格分隔的数字(0 ~ 2n-1)
无关项用于化简但不强制覆盖
真值表速览
卡诺图(点击格子切换状态)
请输入最小项并点击"开始化简"
■ 选中(1) □ 未选(0) × 无关项
化简结果
等待化简...
常见问题与知识点
卡诺图是由贝尔实验室的Maurice Karnaugh于1953年提出的一种布尔代数化简工具。它将真值表以二维网格形式排列,使用格雷码顺序排列行列,使得相邻格子之间只有一位变量不同。这样可以利用布尔代数的吸收律(A+A'=1)直观地圈选合并相邻的1,实现表达式最小化。卡诺图适合2~5个变量的化简,超过5个变量时通常使用Quine-McCluskey算法。
格雷码的特点是相邻两个编码之间只有一位不同。在卡诺图中使用格雷码排列行列,可以保证相邻格子对应的最小项只有一位变量不同,从而在视觉上形成可以合并的"矩形块"。例如在4变量卡诺图中,列顺序为00→01→11→10(格雷码),这样每个格子与其上下左右(包括边界环绕)的格子都恰好只有一位变量差异,便于发现可合并项。
最小项(Minterm)是使布尔函数输出为1的输入组合。例如对于3变量函数F(A,B,C),minterm 5(二进制101)表示A=1, B=0, C=1时F=1。
无关项(Don't Care)是输出可以为0或1的输入组合,通常对应于实际中不可能出现的输入情况。在化简时,无关项可以自由选择为0或1,以帮助形成更大的合并块,从而获得更简表达式。无关项不一定需要被覆盖
SOP(Sum of Products,积之和):将多个AND项用OR连接,如 A'BC + AB'C + ABC。对应卡诺图中圈选"1"的格子。
POS(Product of Sums,和之积):将多个OR项用AND连接,如 (A+B+C)(A+B'+C)(A'+B+C)。对应卡诺图中圈选"0"的格子。两种形式可以通过德摩根定律相互转换,本工具同时提供两种化简结果。
Quine-McCluskey算法是一种表格化的布尔化简方法,适合计算机实现。步骤包括:①将最小项按二进制中1的个数分组;②在相邻组间查找只有1位不同的项对并合并;③重复合并直到无法继续,得到质蕴含项;④构建覆盖表,使用必要质蕴含项和最小覆盖选择得到最简表达式。本工具底层使用该算法实现精确化简。
带有上划线的变量(如 A)表示该变量取反(NOT)。例如 AB 表示 NOT A AND B。在纯文本中通常写作A'B。本工具在显示时使用上划线使表达式更接近教科书风格,复制到剪贴板时则使用撇号形式(如A'B)以保证兼容性。