问题描述
我有一个这样的真值表:
a b sel O
F F F F
F F T F
F T F F
F T T T
T F F T
T F T F
T T F T
T T T T
所以O是输出列,sel基本上是一个选择器。所以当sel = F时,O就是a的值,如果sel=T,O就是b的值。
所以我能够想出一个表达式(不考虑 b 输入),当 sel = F 时正确匹配 sel 和 a 的输出: a $$\lor$$ sel(例如,您可以检查此表达式 $$a v sel$$ 是否会正确生成 a、sel 和 O 值的所有组合,而不考虑 b 的值)
类似的匹配 sel 和 b 的输出,当 sel = T 时: $$b ^ sel$$(例如,您可以检查此表达式 $$b ^ sel$$ 是否会正确生成 b、sel 和 O 的所有值组合,而不考虑 a 的值)
但现在我不确定如何想出一个表达式,将 $$av sel$$ 和 $$b ^ sel$$ 正确地放在一起,以获得与上面的真值表匹配的最终表达式。
解决方法
(!s && a) || (s && b)
如果 s
为假,左侧取 a
的值,右侧为假(因此被忽略)。
如果 s
为真,则右侧取 b
的值,左侧为假(因此被忽略)。