邏輯代數中的運算(想想初等代數中的加減乘除)a⊕ b = ( a ⊙ b )ˊ三種基本運算
與(and):邏輯乘,y = a · b 或(or):邏輯加,y = a + b 非(not):邏輯求反, y = aˊx
簡單邏輯運算(與、或、非)的兩套圖形符號,均為ieee(國際電氣與電子工程師協會)和iec(國際電工協會)認定。上排為國外教材和eda軟體中普遍使用的特定外形符號;下排為矩形符號。
復合邏輯運算(都可以表示為與、或、非的組合)
與非(nand):先與後非,與的反運算,y = ( a · b )ˊ 或非(nor):先或後非,非的反運算,y = ( a + b)ˊ 與或非(and-nor):先與再或再非,y = ( a · b + c · d )ˊ 異或(exclusive or):y =a ⊕ b = a · bˊ + aˊ· b a和b不同,y為1;a和b相同,y為0。當a與b相反時,a · bˊ和 aˊ·b,肯定有乙個結果為1,則y為1。
同或(exclusive nor):y = a ⊙ b = a · b + aˊ · bˊa和b相同,y為1;a和b不同,y為0。當a與b相同時,a · b和 aˊ· bˊ,肯定有乙個結果為1,則y為1。
同或與同或互為反運算,即兩組運算,只要輸入相同,一定結果相反。
a ⊙ b = ( a ⊕ b )ˊ
復合邏輯運算的影象符號和運算符號。
邏輯代數的基本公式和常用公式
基本公式若干常用公式
代入定理(相當於初等代數中的換元)
任何乙個包含邏輯變數a的邏輯等式中,若以另外乙個邏輯式代入式中所有a的位置,則等式依然成立。
反演定理
對於任意乙個邏輯式y,若將其中所有的 「 · 」換成「 + 」,「 + 」換成「 · 」,「 0 」換成「 1 」,「 1 」換成「 0 」,
原變數換成反變數,反變數換成原變數,則得到的結果就是yˊ。
注意兩條規則: - 先括號的最內層,後括號外;先乘,後加的運算優先次序。
- 若反號「ˊ」下面不是單個變數,則反號保留不變。
兩個得·摩根定理,不過是反演定理的特例而已。 ( a · b )ˊ = aˊ+ bˊ
解釋一下:若將式子右邊aˊ+ bˊ用反演定理變換一下,則得到其反演式 a · b,既然a · b和aˊ+ bˊ值相反,則再對a ·b求反,其結果( a · b )ˊ則正好與式子右邊的aˊ+ bˊ相等。
( a + b )ˊ = aˊ· bˊ
對偶定理
對偶式 對於任意乙個邏輯式y,若將其中所有的
「 · 」換成「 + 」,「 + 」換成「 · 」,
「 0 」換成「 1 」,「 1 」換成「 0 」,
則得到的結果就是y的對偶式。
注意:與反演定理的區別在於,沒有涉及原變數和反變數的互換。
對偶定理 若兩邏輯式相等,則它們的對偶式也相等。
8對對偶式的例子(來自基本公式,每行左右兩式互為對偶式) 0 · a = 0 1 + a = 1
1 · a = a 0 + a = a
a · a = a a + a = a
a · aˊ= 0 a + aˊ= 1
a · b = b · a a + b = b + a
a · ( b · c ) = ( a · b ) · c a + ( b + c ) = ( a + b ) + c結合律
a · ( b + c ) = a · b + a · c a + b · c = ( a + b ) · ( a + c )分配律
( a · b )ˊ = aˊ+ bˊ ( a + b )ˊ = aˊ· bˊ得·摩根定律(注意,這兩個等式整體上互為對偶式。每個式子的左右是反演關係再求反,對比反演定理。)
簡單,不喜望噴!!!
邏輯運算子 的一些理解
第一層 對兩個布林值進行邏輯 與 操作 第二次 對兩個可以轉化成布林值的運算元進行邏輯 與 操作 第三層 先計算左運算元,如果結果是假值,則返回這個假值,並不計算右運算元 否則計算右運算元,並將其作為結果返回。注 基於以上情況,以下兩個句子基本等價 if a b fn a b fn 與 相對應,只是...
簡單的邏輯運算
邏輯運算 長路與運算在兩邊都是都是整數時,是逐位與運算,0 1結果是0 在兩邊都是邏輯運算的時候結果也是邏輯運算,並且長路運算子會把兩邊的運算結果都運算出來。而短路與運算子當左邊的運算結果是false時,不再對右邊的關係運算進行計算。三種邏輯運算的優先順序是 非運算大於與運算大於或運算 關係運算的優...
用C C 實現離散數學簡單邏輯運算
這兩天寫c語言 遇到這個離散題,感覺還是蠻經典的,自己總結一下。編寫程式,解決下述問題 已知有a b c d e f共6人參加程式競賽。其中 a和b中至少一人獲獎 a c d中至少二人獲獎 a e中至多一人獲獎 b和f或者同時獲獎,或者都未獲獎 c和e的獲獎情況也相同 如果e未獲獎,則f也不可能獲獎...