1.7 逻辑函数式与真值表
前面曾经提出,真值表和逻辑函数式都是表示逻辑函数的方法。本节介绍这两种表示方法之间的内在联系,以及它们之间的相互转换。
由前述最小项性质可知,最小项只和变量的一组取值相对应,即只有这组变量的取值才能使该最小项为1。设a1,a2,…,an是变量A1,A2,…,An的一组取值,逻辑函数F(A1,A2,…,An)是一个标准与或式,mi是该函数的一个最小项,则使mi=1的一组变量取值a1,a2,…,an,必定有F(a1,a2,…,an)=mi+0=1+0=1;反之,如果变量的一组取值a1,a2,…,an使函数F(a1,a2,…,an)=1,则和a1,a2,…,an对应的项mi必定是F的一个最小项。由此可以比较方便地实现逻辑函数式与真值表之间的相互转换。
【例1.21】 已知逻辑函数式,试列出其真值表。
解:原式是二变量函数,而且是最小项之和的形式。使最小项和的值为1的变量取值分别为01和10。也就是说,当AB为01和10时,F=1;而当AB取其他各组值时,F=0。故可列出真值表如表1.22所示。
表1.22 例1.21的真值表
表1.23 例1.22的真值表
表1.24 例1.23的真值表
【例1.22】 试列出逻辑函数式F=AB+BC的真值表。
解:这是一个三变量函数,而且是一个非标准与或式。如果将它展开成标准的与或式(即最小项之和的形式),固然可以很方便地列出真值表,但毕竟烦琐。由原式可知,只要AB=1或BC=1,就有F=1。要使AB=1,只要A、B同时为1(不管C如何)即可。而要使BC=1,只要B、C同时为1(不管A如何)即可。因此,在真值表中,只要找出A、B取值同时为1的行,以及B、C取值同时为1的行,并将对应的F填1;除此以外,F填0即可。最后所得真值表如表1.23所示。
【例1.23】 已知逻辑函数F的真值表如表1.24所示,试写出其逻辑函数式。
解:先从真值表找出F=1的各行变量取值:010,100,110,111,将这些变量取值中的1写成原变量,0写成反变量,则得对应的最小项为;再将这些最小项相加,即得所求函数F的最小项之和形式为
从以上举例可以看出,对于一个逻辑函数的与或式和真值表的关系,可以通过函数的最小项之和的形式来联系。最小项之和的形式中各个最小项与真值表中F=1的各行变量取值一一对应。具体来说,将真值表中F=1的变量取值为0的代以反变量,取值为1的代以原变量,便得到最小项之和形式中的各个最小项。
类似地,对于一个逻辑函数的或与式和真值表的关系,可以通过函数的最大项之积的形式来联系。最大项之积的形式中各个最大项将与真值表中F=0的各行变量取值一一对应,其对应关系正好与上述相反,即0对应原变量,1对应反变量。这里不再一一举例了。
最后需要指出,对同一个逻辑函数的真值表,既可以用最小项之和的形式来表示,也可以用最大项之积的形式来表示。它们所描述的逻辑功能是相同的,可以根据不同的情况来选用这两种表示形式。一般地说,当真值表中F=1的行数少时,可选用最小项之和的形式;F=0的行数少时,可选用最大项之积的形式。因为这样可使所得逻辑函数式简单,从而可能使相应的逻辑电路简单。