(轉(zhuǎn)發(fā))邏輯代數(shù)基礎(chǔ)

前言

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


正文

邏輯代數(shù)中的三種基本運算

與、或、非

image.png

復(fù)合邏輯運算

最常見的有與非、或非、與或非、異或、同或等

image.png

異或:A?B=AB′+A′BA?B=AB′+A′B
同或:A?B=AB+A′B′A?B=AB+A′B′
異或與同或互為反運算。

邏輯代數(shù)的基本公式和常用公式

image.png

基本公式

也叫布爾恒等式(證明方法包括真值表法和推演法)

正如加減乘除中存在各式運算律一樣,邏輯運算也有運算規(guī)律。本章中,我們主要考慮與、或、非運算;異或、同或的運算律可以很方便地推導出來。我們從常量的運算開始。


image.png

以上相當于把真值表重新表達了一遍,比較直觀。

接下來,我們開始把式子抽象化,把其中一個常量用變量 A 代替,看看常量與變量的運算(0律與1律)


image.png

這些也很好理解,只要把常量運算公式兩兩合并就可以得到。時刻要提示自己:變量的值只有0與1兩種情況。

最后,是變量間的運算,即基本運算律:

提示:在布爾運算中,運算優(yōu)先級是 非 > 與 > 或


(1)交換律、結(jié)合律、分配律

這些公式基本和四則運算中的形式一樣:


image.png

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


image.png

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


(2)還原律

image.png

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


(3)重疊律

image.png

這兩個式子比較難理解一點。但畢竟,布爾運算與四則運算中的“加法”“乘法”不是完全一致的——如果寫成 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)互補律

image.png

因為 A 與 A′ 中有且只有一個為1,因此可以回到1與0的運算上來理解。


(5)德·摩根定律

讓我們一起迎接邏輯學中最著名、最經(jīng)典、最實用的定律:


image.png

它如此優(yōu)美,如此簡潔地表明了與邏輯和或邏輯相互轉(zhuǎn)化的關(guān)系。用非?!皵?shù)學的話”說:

并集的補集是補集的交集,交集的補集是補集的并集

或者,用實際生活中的例子來理解——

一架飛機能成功降落的前提是前后起落架均已放下,缺一不可。所以,飛機不能降落,是因為“沒有既放下前起落架又放下后起落架”,或者說是“沒有放下前起落架或者沒有放下后起落架”

此公式的用途之一是去括號。初學時,常常不自覺地寫出


image.png

這樣的式子。但實際上,去掉帶取反的括號時,或要變與,與要變或。

還有一個用處是轉(zhuǎn)換與邏輯和或邏輯。

如果在電路設(shè)計中只能使用“或”和“非”兩種邏輯,我們也照樣能表示出與邏輯—— AB=(A′+B′)′ 。

就比如,Minecraft游戲中便只有“或”和“非”,但能夠創(chuàng)造出所有邏輯元件,原理就在于此

常用公式

以上公式都比較簡單,使用時局限性也比較大。所以,我們還推導出了一系列常用公式。它們的使用頻率要高得多(基礎(chǔ)公式中的德·摩根定律除外)。

注意:在之前的描述中,盡量避免了出現(xiàn)“相加”“乘積”這樣的字眼,以防造成誤會;但為了敘述方便,接下來會經(jīng)常出現(xiàn)這些詞匯,它們不是一般意義上的“加法”“乘法”,請務(wù)必注意。


(1)吸收公式

image.png

兩項相加,且其中一項( 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)消因子公式

image.png

兩項相加,且其中一項( A )取反后是另一項( A′B )的因式時,另一項中的這個相反因式就被消去了。(不要在意“吸收”“消去”這兩個詞到底有什么區(qū)別,只是為了區(qū)分這兩個公式而已)

證明: A+A′B=(A+A′)(A+B)=1?(A+B)=A+B

其中提取公因式一步比較難想到,是證明過程的重點

要注意區(qū)分吸收公式和消因子公式:一個是相同的因式,一個是相反的因式;一個直接消去兩項中較大的一項,一個僅僅去除部分因式


(3)并項公式

image.png

兩項相加,部分因子相等( A ),剩下的互補( B 與 B′ ),那么可以合并成一項公有因子。

證明: AB+AB′=A(B+B′)=A?1=A

(4)消項公式

這個較為復(fù)雜:三項相加,兩項中部分因子互補( AB 中的 A 與 A′C 中的 A′ ),剩下的都是第三項( BC )的因式(這兩項的乘積不一定要和第三項相同,只需都是第三項的部分因式),那么第三項可以消去。

證明如下:


image.png

這個公式使用頻率不算很高,但它的證明用到了一種很有用的思想——引入冗余項,以進行進一步簡化??梢钥吹剑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

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容