从真值表中查找布尔表达式(几位)

Find a boolean expression from a truth table (several bits)

提问人:lfalkau 提问时间:12/2/2022 更新时间:12/9/2022 访问量:100

问:

我有以下真值表(a 和 b 是我的输入,是结果):

一个 b r
00 00 00
00 01 01
00 11 01
01 00 01
01 01 01
01 11 01
11 00 01
11 01 01
11 11 11

问题是我找不到布尔表达式来表达这个真值表。 另一个类似的线程指出 karnaugh 映射可以解决它,但我找不到任何使用多个位输入的实现。


请注意,对于我的模型来说,第二位无关紧要,因为第一位是为特定输入设置的,因此,如果它有助于布尔表达式,我可以强制它为 0、1,甚至不强制它。

布尔逻辑 真值表 Karnaugh-Map

评论


答:

0赞 Andrew 12/9/2022 #1

真值表(给定):

a0 a1 b0 b1  r0 r1
0  0  0  0   0  0
0  0  0  1   0  1
0  0  1  1   0  1
0  1  0  0   0  1
0  1  0  1   0  1
0  1  1  1   0  1
1  1  0  0   0  1
1  1  0  1   0  1
1  1  1  1   1  1

千米标:

r0:
    \a0a1
b0b1 \ | 00| 01  11  10
00     | 0 | 1   1   1
        ---
01       1   1   1   1

11       1   1   1   1
        ---
10     | x | x   x   x
       |   |


r1:
    \a0a1
b0b1 \   00  01  11  10
00       0   0   0   0

01       0   0   0   0
                ---  
11       0   0 | 1 | 0
               |   |
10       x   x | x | x
                ---

布尔表达式:

r0 = a0 + a1 + b1

r1 = a0a1b0