02 - Lec2 Boolean Algebra 布尔代数
02 - Lec2 Boolean Algebra 布尔代数
Sarzn布尔代数 0 & 1
普通的数学代数计算无非就是 数字集合加上一套运算规则, 相似的, 布尔代数也一样, 只不过: 数字集合变成了 {0, 1}, 运算规则也只有三个加法 +, 乘法 ⋅, 补 ˉ
规则如下:
| x | y | x + y | x • y |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 0 | 1 | 1 | 0 |
| 1 | 0 | 1 | 0 |
| 1 | 1 | 1 | 1 |
补运算:
加法
布尔加法和普通加法的区别是 1 + 1 = 1
乘法
布尔乘法和普通乘法运算结果一样
补
取反
翻译
优先级是: 补 > 乘 > 加,括号可以强制改变顺序
| + | ∨ | 或 |
| • | ∧ | 与 |
| ˉ | ¬ | 非 |
布尔函数
变量就是”一个不知道是 0 还是 1 的值”, 通常写成 x, y, z
含变量的表达式叫布尔函数,比如:
真值表 - 把所有情况列出来
变量的值不知道,函数值就算不出来。解决办法是把每一种取值都试一遍,列成表格,这就是真值表。 每个变量有 2 种取值,所以 n 个变量共有 2^n 种组合,真值表就有 2^n 行
以上面这个函数为例:
| 0 | 1 | 0 | 1 |
| 1 | 0 | 1 | 1 |
中间两列只是辅助计算 结果显示: 不管 x 取什么值, f(x) 都是 1
大法则
identical - 恒等
两个函数写法不同, 但在所有取值下结果都一样, 就叫恒等
比如:
化简
既然结果相同, 做电路时当然选运算最少的写法, 这便是化简
| 定律 | 公式 | 直觉 |
|---|---|---|
| Identity | 和 1 做”与”, 和 0 做”或”, 都不改变 x | |
| Idempotent | 自己和自己做运算, 还是自己 | |
| Domination | 或上一个真,结果必真; 与上一个假,结果必假 | |
| Double Complement | 否定两次等于没否定 | |
| Commutative | 和普通算术一样 | |
| Associative | 和普通算术一样 | |
| De Morgan | 对整体取补时, 每个变量取补, 同时加和乘互换 | |
| Distributive | 第二条在普通算术里不成立, 是布尔代数特有的 | |
| Absorption | 结果只由 x 决定, y 被吸收了 | |
| Unit Property | “要么真要么假”一定真 | |
| Zero Property | “又真又假”一定假 |
例子
化简:
流程
Step 4: 用电路实现
开关就是布尔运算
| 开关闭合 | close | 通电 | 1 |
| 开关断开 | open | 不通电 | 0 |
当两个开关:
- 两个开关串联时: 都闭合 close 灯才亮, 对应 x • y
- 两个开关并联时: 一个闭合 close 灯就亮, 对应 x + y
Comment
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果



