布尔代数是用来组合和化简真/假表达式的系统。如果你想化简像 AB+ABAB + A\overline{B} 这样的逻辑表达式,主要工具就是补元律、分配律、吸收律以及德摩根定理等规则。

在一种常见记号中,x+yx + y 表示 OR(或),xyxy 表示 AND(与),x\overline{x} 表示 NOT xx(非 xx)。有些教材把 NOT 写成 xx',但底层规则是一样的。

布尔代数是什么意思

普通代数处理的是数字。布尔代数处理的是命题或二元变量,它们只能取两个值:真/假,或 1/01/0

这会改变运算规则。在布尔代数中,

x+x=xandxx=xx + x = x \quad \text{and} \quad xx = x

这两个恒等式表达的是同一个意思:重复一个条件不会产生新的结果。如果一个开关已经打开,那么“开 OR 开”并不会改变任何东西。

你真正会用到的布尔代数定律

这些是在化简布尔表达式时最常出现的定律。

恒等律

x+0=x,x1=xx + 0 = x, \qquad x \cdot 1 = x

加上 false 不会改变结果,而与 true 做 AND 也不会改变结果。

零律

x+1=1,x0=0x + 1 = 1, \qquad x \cdot 0 = 0

如果一个 OR 表达式里已经包含 true,那么整个结果就是真。如果一个 AND 表达式里包含 false,那么整个结果就是假。

幂等律

x+x=x,xx=xx + x = x, \qquad x \cdot x = x

重复同一个变量不会改变表达式。

补元律

x+x=1,xx=0x + \overline{x} = 1, \qquad x \cdot \overline{x} = 0

一个变量和它的相反情况在 OR 中覆盖了所有可能,但在 AND 中永远不会同时成立。

交换律与结合律

x+y=y+x,xy=yxx + y = y + x, \qquad xy = yx (x+y)+z=x+(y+z),(xy)z=x(yz)(x + y) + z = x + (y + z), \qquad (xy)z = x(yz)

这些定律让你可以在不改变结果的前提下重新排列或重新分组各项。

分配律

x(y+z)=xy+xzx(y + z) = xy + xz x+yz=(x+y)(x+z)x + yz = (x + y)(x + z)

第二种形式可能不那么直观,但它是标准的布尔恒等式,在因式分解时经常会出现。

吸收律

x+xy=x,x(x+y)=xx + xy = x, \qquad x(x + y) = x

当一个表达式看起来比实际更长时,这两条尤其有用。

德摩根定理

x+y=xy,xy=x+y\overline{x + y} = \overline{x}\,\overline{y}, \qquad \overline{xy} = \overline{x} + \overline{y}

它们说明了否定如何跨过 OR 和 AND 传播。当 NOT 穿过括号时,OR 和 AND 会互换角色。

例题:化简 AB+ABAB + A\overline{B}

从下面开始:

F=AB+ABF = AB + A\overline{B}

提取公共因子 AA

F=A(B+B)F = A(B + \overline{B})

现在使用补元律:

F=A1F = A \cdot 1

再使用恒等律:

F=AF = A

所以 AB+AB=AAB + A\overline{B} = A。直观地看,如果 A=1A = 1,那么要么 B=1B = 1,要么 B=1\overline{B} = 1,因此其中一项必定为真。如果 A=0A = 0,两项都为假。整个表达式只取决于 AA

布尔代数中的常见错误

一个常见错误是把普通代数的习惯直接带入布尔代数。例如,x+x=2xx + x = 2x 并不是布尔规则。在这里,正确结果是 xx

另一个错误是在没有确认记号含义时就套用定律。在很多教材中,++ 表示 OR,而不是算术加法;把变量并排写在一起表示的是 AND。

学生还常常误用德摩根定理:只把每个变量取反,却忘了把 OR 和 AND 对调。这两部分都不能漏掉。

布尔代数用在哪里

布尔代数是数字逻辑的核心,其中变量表示开/关或真/假状态。它被用来化简电路设计、写出更简洁的软件逻辑条件,以及分析搜索筛选条件或数据库查询。

如果变量不是二元的,或者运算是普通算术,那么布尔定律就不能直接套用。正是“只有两个取值”这一条件,才使这个系统成立。

试着做一个类似的化简

试着化简 (A+B)(A+B)(A + B)(A + \overline{B})。如果你认真使用上面的定律,它会比一开始看起来化简得更多。如果你想再进一步,可以列出真值表,检查化简后的形式是否与原式在每一行都一致。

需要解题帮助?

上传你的问题,几秒钟内获得经过验证的分步解答。

打开 GPAI Solver →