三值邏輯小解

雖然已經學了一年多了,但是看到《程序員的數學》第二章後感想又有很多,就寫個讀後 小感吧!

1.帶條件的邏輯與(&&)

邏輯與(&&)定義  :  (表格形式)



可以看出:

1).  A 爲 true 時 , B 的值就爲 A && B 的值。

2).  A 爲 false 時,不用看 B ,A && B 的值爲 false 。

3).  A 爲 undefined 時,計算機不進行任何處理,因此不用 看 A 和 B ,A && B 的值 爲 undefined。

代碼解釋:

代碼塊1

if(A && B)
{
    ……
}

代碼塊 2

if(A)
{
    if(B)
    {
        
    }
}

代碼塊1 和 代碼塊2 是等價的,都可看做是邏輯與的程序表達,

同時 代碼塊 2 也可加深 對     帶條件的邏輯與   的理解。。

————————————————————

C++代碼測試:

A 爲 true 時:


    bool A,B;
    A = true;
    //B = false;
    if(A&&B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  輸出 結果 爲 Yes

A 爲 false 時:

    bool A,B;
    A = false;
    //B = false;
    if(A&&B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  輸出 結果 爲 No

A 爲undefined 時,有點小問題,暫且先不上代碼 。


2. 帶條件的邏輯或 (||)

邏輯或(||)定義  :  (表格形式)




可以看出:

1).  A 爲 true 時 , A|| B 的值必定爲 true。

2).  A 爲 false 時,A || B 的值爲 B 的值。

3).  A 爲 undefined 時,計算機不進行任何處理,因此不用 看 A 和 B ,A && B 的值 爲 undefined。

代碼解釋:

代碼塊1

if(A || B)
{
    ……
}

代碼塊 2

if(A)
{
}
else
{
    if(B)
    {
    }
}

同邏輯與一樣, 這兩個代碼塊也是相同的。。

————————————————————————

C++代碼測試:

A 爲 true 時

    bool A,B;
    A = true;
    //B = false;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  輸出 結果 爲 Yes

A 爲 false 且B 爲 true

    bool A,B;
    A = false;
    B = true;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  輸出 結果 爲 Yes

A 爲 false 且 B 爲 false 時

    bool A,B;
    A = false;
    B = false;
    if(A||B)
        cout<<"Yes"<<endl;
    else
        cout<<"No"<<endl;
    //  輸出 結果 爲 No

————————————————

3. 三值邏輯中的否定 (!)


表格定義:


不包含 undefined 時,!A = A的邏輯非運算,
A爲 undefined 時,B也爲undefined。
否定較爲簡單,就不再寫代碼了。。


————————————————————————

最後加一句《程序員的數學》第二章結束語吧。。

if語句將將世界分爲條件成立的世界和條件不成立的世界!!

發佈了48 篇原創文章 · 獲贊 7 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章