从真值表中找到表达式

问题描述

我有一个这样的真值表:

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 的值,左侧为假(因此被忽略)。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...