(二)4 邏輯函式的化簡

2021-09-26 02:29:40 字數 2511 閱讀 5192

邏輯函式的化簡時很重要的,應該也是這一章的最後一類了

注:以下的ab等變數都可以代表乙個邏輯式

1.並項法:  ab + ab' = a

兩個相似項,只有一部分取反,則等於完全相同部分

注意(a+b)'=a'b'這種

2.吸收法: a + ab = a

當有一項完全是另外一項的一部分,則把長的那一項去掉

3.消項法: ab+ a'c + bcd =ab + ac'

找到一對相反變數或邏輯式在兩項中,則剩餘變數組成的項去掉

4.消因子法:a + a'b = a + b

當有一項的反完全是另外一項的一部分,則把長項中的反部分去掉

5.配項法: a + a =a

可以加上乙個原式中已經有的項,或是乘上(a+a')

針對以上這幾種方法,我們可以組合出一套屬於自己的解題一般步驟

1.先看有沒有哪一項是另外一項的一部分,著手去掉一些項

2.再看有沒有哪一項的反是另外一項的一部分,尤其是對那些特別長的式子,著手縮短他們

3.針對2步驟,注意有沒有合併項,一併處理

4.針對現在這個相對簡單的式子,看有沒有一對相反變數在不同項裡,著所去掉一些項

5.如果最後的式子還是比較複雜,再考慮湊式子去化簡

前面我們說邏輯函式的描述方法時,有一種方法並沒有描述,那就是卡諾圖,並不是不重要,相反,它可以通過合併最小項來化簡乙個邏輯式,重要性不言而喻。

下面說一說卡諾圖

1.邏輯函式的卡諾圖表示法

還記得前面說的最小項的表示方法嗎,就是原變數寫做1,反變數寫做0,得到的二進位制數化成十進位制得到的就是m的下標,得到的就是最小項的寫法

以乙個二變數為例,m0~m3 在用的時候可以通過給值(0/1)來表示乙個邏輯函式

a\b

0 1

0| m0 | m1

1| m2 | m3

ab\cd

00 01 11 10

00| m0 | m1 | m3 | m2

01| m4 | m5 | m7 | m6

11| m12 | m13 | m15 | m14

10| m8 | m9 | m11 | m10

三個的時候,a /bc 來分組

此處複習一下前面提到的邏輯函式的最小項標準形式的寫法:

1.將邏輯函式寫成乘積和的形式

2.對缺變數的項×(x+x')補全,並化簡

3.寫成上面的∑m(i)形式

這裡就時通過給m(i)值的方式,表示乙個邏輯函式。很簡單的意思

2.用卡諾圖化簡邏輯函式

這種方法稱為卡諾圖化簡法 or 圖形化簡法

原理:

前面提過的最小項的相鄰項可以合併去掉不同的因子,因為相鄰,則必然存在相同部分

剩下的則相反

規律:

有2^n個「1」靠在一起(不僅僅是左右相鄰,上下也算,甚至同一行的最左邊和最右邊的

也可以看成相鄰,一坨一起看,但是需要是標準長方形),則可以消去n個變數

步驟:

1.完成卡諾圖的繪製(方法前面最小項和的時候寫了)

2.選取合併項,用框框圈起來:

(要求) a.包含所有的1 *****》無漏

b.用最少的框 *****》變數和項數少

c.每個框盡量多框幾個1====》使得這一項包含的變數少

小技巧:

1.在拿乙個邏輯式化成乘機和的時候,對於缺變數的項可以不用補全,看作合併

後的情況,例如對ac' 這一項,只要在abc'和ab'c'框裡都寫上1就好了

2.可以包含重複項,只需要保證盡可能框多個m

或者對0合併,得到之後取反,也可以完成

eg

y = abc + abd +ac'd + c'd' + ab'c + a'cd'

ab\cd

00 01 11 10

00| 1 | 0 | 0 | 1

01| 1 | 0 | 0 | 1

11| 1 | 1 | 1 | 1

10| 1 | 1 | 1 | 1

解:

取最下面兩行為一組2×4,最左邊一列和最右邊一列組成一組4×2

得到結果:y = a + d'

卡諾圖化簡法了解一下,很重要,但並不難。

邏輯函式代數法化簡(一)

邏輯代數運算的基本規則 1.定義 設有兩個邏輯函式y1 f a,b,c,y2 g a,b,c,他們的變數都是a,b,c,如果對應於變數a,b,c,的任何一組變數取值y1和y2的值都相同,則稱y1和y2是相等的,記為y1 y2 2.推論 若兩個邏輯函式相等,則它們的真值表一定相同 反之,若兩個函式的真...

數電學習二 邏輯代數的計算與邏輯函式

二 邏輯運算公式 三 邏輯函式 總結與邏輯 或邏輯和非邏輯是三種最基本的邏輯關係。邏輯代數中的基本運算也只有三種 與運算 或運算和非運算。與運算 有0出0,全1出1.其邏輯表示式為f a bf a cdot b f a b或運算 有1出1,全0出0.其邏輯表示式為f a bf a b f a b非運...

編譯原理(二)NFA轉DFA,DFA的化簡

dfa與nfa的區別在於 dfa的每一次輸入只對應乙個結果,而nfa的依次輸入可能對應多個結果,形成乙個結果集,可以使用子集法將nfa構造為dfa,大白話就是,dfa的一條邊,上面乙個條件吧,它只能有乙個這條邊,而nfa的話,它是可以有多個,指向不同的節點,當然不同條件的邊誰都有 這也正是為什麼它的...