【数字逻辑】如何根据真值表的内容写出对应的逻辑关系式?

    【2018.6.2】今天在看书的时候无意中需要使用到如题所示的知识,但是由于上次看数字逻辑这本书已经是N年前的事情了,所以又有点忘记了,现在趁着刚刚大概浏览了一次,虽然感觉不算难,但是还是记下来吧。

    据说有两种方法,这里都列举一下吧:

    方法一:

        step 1 首先,根据真值表当中结果是true的项,找出它的两个输入项,然后进行与运算;如果遇到输入项的取值是false,就需要把它写成非的形式,反之,如果输入项是true,那么就不用管,写成原来的样子就行了。

        step 2 然后,遍历整一个真值表,把所有输出值为true的项进行或运算(相加),就可以得到最原始的逻辑关系式。

        step 3 化简step 2得到的逻辑表达式即可。

    方法一的例子:以最简单的A xor B为例,下面是他们的真值表

A xor B 0 1
0 false true
1 true false

    由这个真值表可以写出如下的表达式:(!A)B + A(!B) 这条式子就等价于 A xor B 了。

    方法二:

        step 1 首先,根据真值表当中结果为false的项,找出它的两个输入项,然后进行或运算;如果遇到输入项的取值是true,就需要把它写成非的形式,反之,如果输入项是false,那么就不用管,写成原来的样子就行了。

        step 2 然后,遍历整一个真值表,把所有输出值为false的项进行或运算(相加),就可以得到最原始的逻辑关系式。

        step 3 化简step 2得到的逻辑表达式即可。

    仍然以上一个真值表为例,可以列出如下的逻辑表达式:(A+B) · (!A + !B)   ------->(*)

    对于(*)可以化简得到 (!A)B + A(!B) 即和方法一的结果一致。


你可能感兴趣的:(数字逻辑)