前言
邏輯代數(shù)系統(tǒng)由基本公式、常用公式、基本規(guī)則三部分構(gòu)成。掌握了這些,設(shè)計出的電路可以盡可能地簡單,減少故障幾率和元件使用;編程時,如果掌握了邏輯函數(shù)化簡,也能增加條件判斷式的可讀性,避免寫出垃圾代碼。
正文
邏輯代數(shù)中的三種基本運算
與、或、非

復(fù)合邏輯運算
最常見的有與非、或非、與或非、異或、同或等

異或:A?B=AB′+A′BA?B=AB′+A′B
同或:A?B=AB+A′B′A?B=AB+A′B′
異或與同或互為反運算。
邏輯代數(shù)的基本公式和常用公式

基本公式
也叫布爾恒等式(證明方法包括真值表法和推演法)
正如加減乘除中存在各式運算律一樣,邏輯運算也有運算規(guī)律。本章中,我們主要考慮與、或、非運算;異或、同或的運算律可以很方便地推導出來。我們從常量的運算開始。

以上相當于把真值表重新表達了一遍,比較直觀。
接下來,我們開始把式子抽象化,把其中一個常量用變量 A 代替,看看常量與變量的運算(0律與1律)

這些也很好理解,只要把常量運算公式兩兩合并就可以得到。時刻要提示自己:變量的值只有0與1兩種情況。
最后,是變量間的運算,即基本運算律:
提示:在布爾運算中,運算優(yōu)先級是 非 > 與 > 或
(1)交換律、結(jié)合律、分配律
這些公式基本和四則運算中的形式一樣:

特別的分配律:由于在布爾運算中,與運算和或運算常常處于可以互換的地位,因此,我們也有 A+BC=(A+B)(A+C) 。它和與對或的分配律非常接近,只是“與”和“或”調(diào)換了而已??梢宰C明一下公式的正確性:

分別用了:與邏輯分配律;重疊律(見(3));與邏輯分配律逆命題;1律
(2)還原律

很直觀,變量兩次取反后回到它本身。和語言中的“雙重否定”是一個概念。
(3)重疊律

這兩個式子比較難理解一點。但畢竟,布爾運算與四則運算中的“加法”“乘法”不是完全一致的——如果寫成 A∪A=A, A∩A=A ,或者A || A == A, A && A == A ,表達的意思也是一樣的。
在學習邏輯運算時,有許多迷惑性的符號——比如”0”與“1”,它們并不存在大小關(guān)系,而只是“真”與“假”的對應(yīng)關(guān)系,與數(shù)字0和1無關(guān)
一道十分有趣的題目:能否通過 A + A = A 推導出 A = 0 ?
不能。由于布爾運算中沒有“減法”運算,因此不可以把等式兩端同時減去A。這告訴我們,雖然乍一看形式十分接近,但仍然不能被算術(shù)運算中的思維誤導
(4)互補律

因為 A 與 A′ 中有且只有一個為1,因此可以回到1與0的運算上來理解。
(5)德·摩根定律
讓我們一起迎接邏輯學中最著名、最經(jīng)典、最實用的定律:

它如此優(yōu)美,如此簡潔地表明了與邏輯和或邏輯相互轉(zhuǎn)化的關(guān)系。用非?!皵?shù)學的話”說:
并集的補集是補集的交集,交集的補集是補集的并集
或者,用實際生活中的例子來理解——
一架飛機能成功降落的前提是前后起落架均已放下,缺一不可。所以,飛機不能降落,是因為“沒有既放下前起落架又放下后起落架”,或者說是“沒有放下前起落架或者沒有放下后起落架”
此公式的用途之一是去括號。初學時,常常不自覺地寫出

這樣的式子。但實際上,去掉帶取反的括號時,或要變與,與要變或。
還有一個用處是轉(zhuǎn)換與邏輯和或邏輯。
如果在電路設(shè)計中只能使用“或”和“非”兩種邏輯,我們也照樣能表示出與邏輯—— AB=(A′+B′)′ 。
就比如,Minecraft游戲中便只有“或”和“非”,但能夠創(chuàng)造出所有邏輯元件,原理就在于此
常用公式
以上公式都比較簡單,使用時局限性也比較大。所以,我們還推導出了一系列常用公式。它們的使用頻率要高得多(基礎(chǔ)公式中的德·摩根定律除外)。
注意:在之前的描述中,盡量避免了出現(xiàn)“相加”“乘積”這樣的字眼,以防造成誤會;但為了敘述方便,接下來會經(jīng)常出現(xiàn)這些詞匯,它們不是一般意義上的“加法”“乘法”,請務(wù)必注意。
(1)吸收公式

兩項相加,且其中一項( A )是另一項( AB )的因式時,另一項中的其他因式就被吸收了。
證明: A+AB=A(1+B)=A
先提取公因式;再運用1律
這里一系列公式的表達都非常簡單抽象,而實際運用時,這兩項不一定會長成A與AB的樣子,但哪怕是 A(X+Y)M′+A(X+Y)(B+C′+D)M′E′F′G 這種龐大的式子,只要眼光毒辣,也能發(fā)現(xiàn)公因式,并化簡成 A(X+Y)M′
(2)消因子公式

兩項相加,且其中一項( A )取反后是另一項( A′B )的因式時,另一項中的這個相反因式就被消去了。(不要在意“吸收”“消去”這兩個詞到底有什么區(qū)別,只是為了區(qū)分這兩個公式而已)
證明: A+A′B=(A+A′)(A+B)=1?(A+B)=A+B
其中提取公因式一步比較難想到,是證明過程的重點
要注意區(qū)分吸收公式和消因子公式:一個是相同的因式,一個是相反的因式;一個直接消去兩項中較大的一項,一個僅僅去除部分因式
(3)并項公式

兩項相加,部分因子相等( A ),剩下的互補( B 與 B′ ),那么可以合并成一項公有因子。
證明: AB+AB′=A(B+B′)=A?1=A
(4)消項公式
這個較為復(fù)雜:三項相加,兩項中部分因子互補( AB 中的 A 與 A′C 中的 A′ ),剩下的都是第三項( BC )的因式(這兩項的乘積不一定要和第三項相同,只需都是第三項的部分因式),那么第三項可以消去。
證明如下:

這個公式使用頻率不算很高,但它的證明用到了一種很有用的思想——引入冗余項,以進行進一步簡化??梢钥吹剑C明開頭,逆運用并項公式,創(chuàng)造了一個新的項,隨后和另外兩項分別合并。除了這種用法,還可以利用重疊律 A=A+A ,重復(fù)寫入一項,再和其他項化簡。這種方法很有用,但需要訓練才能掌握(妙?。?/p>
基本規(guī)則
何謂基本規(guī)則?其實很難說清楚。但大概來講,它描述了對等式進行恒等變形的一些方法。
(1)代入規(guī)則
將邏輯函數(shù)式中任一變量(或函數(shù))用另一變量(或函數(shù))替換,等式仍成立。這類似方程化簡中的“換元法”思想。
如果有方程: F(M(X,Y,Z),B,C,...)=G(M(X,Y,Z),B,C,...) ,其中 F,G,M 均表示函數(shù),則可以設(shè) A=M(X,Y,Z) ,從而得到 F(A,B,C,...)=G(A,B,C,...) 。
舉個例子,之前提到,常用公式不僅僅局限于兩到三個變量的運算,還可以拓展到更多變量,這可以用代入規(guī)則解釋。以消因子公式為例:如果有 (M+N)′+(M+N)XY ,則可以設(shè) A=(M+N)′, B=XY ,把式子變形成 A+A′B ,然后運用公式。
(2)反演規(guī)則
回顧一下德·摩根定律: (AB)′=A′+B′, (A+B)′=A′B′ ,它可以同樣通過應(yīng)用代入規(guī)則,拓展到多個變量: (ABC...)′=A′+B′+C′+..., (A+B+C+...)′=A′B′C′... 。
注意看,等式的左邊是一系列項的積或和,并進行了取反,而等式的右邊則是這個反函數(shù)的展開。由此,我們可以推導出化簡一個函數(shù)的反函數(shù)——或者叫反演——的規(guī)則。
得到函數(shù)的反演式有兩步:
- 加變乘,乘變加——對應(yīng)德·摩根定律中與和或的轉(zhuǎn)換,并保證運算順序不變;
- 對每個量取反(包括變量變?yōu)榉醋兞亢?變1,1變0),但保留非單變量的非號。
比如, ((A+B)C+0)D′?1 ,先變換符號: ((AB)+C?0)+D′+1 ,再對變量逐個取反: ((A′B′)+C′?1)+D+0 ,最后檢查運算順序,并通過添加去除括號調(diào)整: (A′B′+C′)?1+D+0 。就這樣,得到了原函數(shù)的反演函數(shù)。
(3)對偶規(guī)則
這個規(guī)則便是之前提到的“與邏輯和或邏輯常??梢曰Q”的一個嚴謹定義。對偶式的得到也有兩步:
- 加變乘,乘變加,保證運算順序不變;
- 0變1,1變0。
對偶式的性質(zhì)是:若兩個邏輯式 F1=F2 成立,則它們的對偶式 F1D=F2D 也成立。比如由于 A(B+C)=AB+AC ,通過對偶變換就可以得到 A+BC=(A+B)(A+C) 。
對偶規(guī)則也是由德·摩根定律推導而來的,具體證明過程比較復(fù)雜,不再贅述。
其實,對偶式和反演式的本質(zhì)區(qū)別就是沒有了“對所有量取反”這一步。但為什么要保留“對常數(shù)取反”呢?如果沒有這一步——比如, 0+A=A 的對偶等式是 1?A=A ;如果不對常數(shù)取反,就有 0?A=A ,顯然不成立
總結(jié)
當今時代,數(shù)字電路已廣泛應(yīng)用于各個領(lǐng)域。數(shù)字電路比模擬電路的發(fā)展更迅猛,應(yīng)用更廣泛。所以對于當代的工科學生來說學好數(shù)字電路勢在必行。其中,正確理解數(shù)字電路中的“數(shù)字”二字以及邏輯電路中的“邏輯”二字的含義是學好數(shù)字邏輯電路的基礎(chǔ)。本文梳理了邏輯代數(shù)的基礎(chǔ)內(nèi)容,為今后數(shù)字邏輯電路的分析和設(shè)計打下良好的基礎(chǔ)。
————————————————
版權(quán)聲明:本文為CSDN博主「YF云飛」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/flyTie/article/details/126804504