? ? ? ?如圖咆贬,我們有一個(gè)真值表帚呼,我們不考慮其功能煤杀,也不引入'最小項(xiàng)'等任何定義,本文僅從最直觀的角度來(lái)解釋一下如何通過(guò)一個(gè)真值表來(lái)寫出其邏輯函數(shù)酌儒。
????????在此之前枯途,你需要知道與和或是如何進(jìn)行運(yùn)算即可。
? ? ? ? 我們將A、B捶索、C稱為邏輯函數(shù)的輸入灰瞻,Y稱為該邏輯函數(shù)的輸出。三變量的邏輯函數(shù)共有八組輸入燎竖,每一組輸入的結(jié)果可能使得輸出為0或者1要销。
? ? ? ? 真值表就為我們很直觀的展示了每一組輸入對(duì)應(yīng)的輸出情況:如當(dāng)ABC輸入同時(shí)為000時(shí)輸出1,當(dāng)ABC輸入001時(shí)同時(shí)為Y為0等纤掸。
????????在沒有約束項(xiàng)的真值表(邏輯函數(shù))中,每一種輸入情況都可能出現(xiàn)政己。
? ? ? ? 意思是在沒有特定說(shuō)明下掏愁,ABC的輸入可以為000,001,010,011,100,101,110,111中的任意一組果港。即輸入可以為真值表中的任何一組輸入。
? ? ? ? 假設(shè)在有一個(gè)N組取值的真值表(我們的真值表有8組取值)京腥,某一時(shí)刻公浪,電路或是邏輯表達(dá)式只能有一組特定輸入,又因?yàn)槲覀兊妮斎胗蠳種情況欠气,那么為了寫出邏輯函數(shù)的表達(dá)式预柒,我們的表達(dá)式中將會(huì)有N項(xiàng),每一項(xiàng)正好代表著一種輸入情況出現(xiàn)與否憔古,當(dāng)某一種輸入情況出現(xiàn)時(shí)淋袖,那么我們代表著這組輸入的項(xiàng)就是真,即1焰情,其他項(xiàng)為0剥懒。
? ??????在上面真值表的例子中,輸入取值可能出現(xiàn)八種情況验游,所以我們要用八項(xiàng)來(lái)分別表示每一種輸入情況是否出現(xiàn)。這些項(xiàng)的含義就是當(dāng)一種輸入情況出現(xiàn)時(shí)裸准,我們代表著這種輸入情況的項(xiàng)取值就為真赔硫。
????????我們可以用暫時(shí)代表當(dāng)輸入為000,001,010,011……111時(shí)表達(dá)式中的項(xiàng)怔檩,這些符號(hào)僅僅是代表了我們的每一項(xiàng)蓄诽,如何計(jì)算項(xiàng)是什么,下面再詳述许蓖,這里僅是簡(jiǎn)單的代替调衰。? ?
????????根據(jù)上面所述構(gòu)成項(xiàng)的規(guī)則——每一項(xiàng)代表著一種輸入是否出現(xiàn)嚎莉,所以我們可以通過(guò)查看真值表知道:當(dāng)輸入為000時(shí)沛豌,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%5Calpha" alt="\alpha" mathimg="1">代表了輸入為000的出現(xiàn)赃额,所以為真跳芳,為1竹勉,其他項(xiàng)均為0;
????????同樣的道理吓歇,由于代表了輸入001的出現(xiàn)與否票腰,所以當(dāng)輸入為001時(shí),即001這種輸入情況出現(xiàn)了测柠,此時(shí)
就為真轰胁,即1完域。其他項(xiàng)各自代表了自己的輸入情況,而同一時(shí)刻下只能出現(xiàn)一種輸入凹耙,又因?yàn)楝F(xiàn)在的輸入為001肠仪,所以其他項(xiàng)皆為0。
????????通過(guò)上面的解釋意述,我們已經(jīng)知道當(dāng)一種輸入情況產(chǎn)生時(shí)吮蛹,與之對(duì)應(yīng)的項(xiàng)是真潮针,也就是1,而其他每一項(xiàng)都為0瓣戚,而真值表中又明確的告訴我們:每一組輸入取值所對(duì)應(yīng)的輸出是什么。
? ?那么我們讓每一種輸出取值和對(duì)應(yīng)的輸入的項(xiàng)去做與運(yùn)算舱权,這樣仑嗅,當(dāng)有某一種輸入出現(xiàn)時(shí),因?yàn)榇碇撦斎氲捻?xiàng)為1啊楚,所以這一項(xiàng)的輸出會(huì)保持原樣()浑彰,而其他的項(xiàng)都為0郭变,所以其他的輸出也是無(wú)效的(
)。
? ??????不要忘記我們的項(xiàng)就是代表著某種輸入情況是否發(fā)生周伦,如果這種輸入情況發(fā)生未荒,則代表該輸入的項(xiàng)就是真,即1寨腔。
? ? ? ? 在任何一時(shí)刻一個(gè)邏輯函數(shù)只會(huì)有一組特定的輸入率寡,所以在任何一時(shí)刻也只會(huì)有一個(gè)項(xiàng)為真冶共,即代表著當(dāng)前時(shí)刻輸入的項(xiàng)為真。表達(dá)式中的每一項(xiàng)都會(huì)和該項(xiàng)代表的輸入所對(duì)應(yīng)的輸出相與家卖,所以最終有效的是輸出就是那個(gè)為真的項(xiàng)代表的輸入所對(duì)應(yīng)的輸出弟孟。
????????這樣墨礁,我們把項(xiàng)的構(gòu)成規(guī)則再添加一點(diǎn)東西醋奠,讓每一項(xiàng)和這一項(xiàng)項(xiàng)代表的那組輸入相與窜司,現(xiàn)在每一項(xiàng)就成了: 該項(xiàng)的出現(xiàn)情況? \cdot? 該項(xiàng)代表的輸入的輸出結(jié)果
????????通過(guò)我們的真值表寫出表達(dá)式中的每一項(xiàng):
? ? ? ? ? ? ? ??
????????現(xiàn)在用語(yǔ)言來(lái)描述一下我們構(gòu)造的表達(dá)式的輸入輸出情況:
????????當(dāng)輸入為000時(shí)恋昼,因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=%CE%B1" alt="α" mathimg="1">代表了輸入000的情況出現(xiàn),所以有:
? ??????????????
????????我們又讓每一項(xiàng)和其代表的輸入情況對(duì)應(yīng)輸出做了與運(yùn)算供置,即芥丧,所以此時(shí)根據(jù)我們的表達(dá)式的邏輯,有
所代表的的輸入(000)的輸出是有效的擅耽,這也正好順應(yīng)了真值表的邏輯物遇,一組輸入對(duì)應(yīng)了特定的一種輸出询兴。
????????在我們構(gòu)造的表達(dá)式中,沒有出現(xiàn)的輸入其對(duì)應(yīng)的項(xiàng)結(jié)果就是0警儒,所以為了讓這些為0的項(xiàng)不影響到真正出現(xiàn)的輸入所對(duì)應(yīng)的項(xiàng)始衅,我們就需要讓這些項(xiàng)全部相或()汛闸。
????????現(xiàn)在我們寫出這個(gè)真值表的邏輯表達(dá)式:
? ? ? ? ? ? ?
????????我們可以看到,真值表中輸出為0的輸入所對(duì)應(yīng)的項(xiàng)隆夯,都會(huì)與一個(gè)0蹄衷,所以無(wú)論如何這個(gè)項(xiàng)的最終結(jié)果肯定是0()厘肮,我們就可以直接忽略掉這些項(xiàng),只寫出使得輸出為1 的輸入 所對(duì)應(yīng)的項(xiàng)即可耍属。
? ? ? ? ? ? ? ? ? ?
????????因?yàn)?img class="math-inline" src="https://math.jianshu.com/math?formula=1%5Ccdot%20A%3DA" alt="1\cdot A=A" mathimg="1">厚骗,所以我們也可以將1忽略掉兢哭。
????????有我們最終的邏輯函數(shù)的表達(dá)式為,其中
代表了輸入是否為000冲秽,
代表了輸入是否為101锉桑,
代表了輸入是否為111,如果輸入是這三種的任何一個(gè),那么對(duì)應(yīng)的這一項(xiàng)就為真杉武;又因?yàn)檫@三項(xiàng)代表的輸入所對(duì)應(yīng)的輸出是1辙售,所以當(dāng)項(xiàng)為真時(shí),那么我們的邏輯表達(dá)式就為真祈搜。