邏輯運算符包含邏輯與、或、異或、非等邏輯運算符。1
如果一個操作數(shù)或多個操作數(shù)為 true,則邏輯或運算符返回布爾值 true;只有全部操作數(shù)為false,結(jié)果才是 false。2
定義如果任一操作數(shù)或兩個操作數(shù)為true,則邏輯“或”運算符 (||) 返回布爾值true;否則返回false。操作數(shù)在計算之前隱式轉(zhuǎn)換為類型bool,結(jié)果的類型為bool。邏輯“或”具有從左向右的關(guān)聯(lián)性。3
or運算符是||的等效文本。
邏輯“或”運算符的操作數(shù)不需要是同一類型,但是它們必須是整型或指針類型。操作數(shù)通常為關(guān)系或相等表達式。
第一個操作數(shù)將完全計算,并且在繼續(xù)計算邏輯“或”表達式之前將完成所有副作用。
僅當?shù)谝粋€操作數(shù)的計算結(jié)果為 false (0) 時計算第二個操作數(shù)。在邏輯“或”表達式為 true 時,這將消除對第二個操作數(shù)的不必要的計算。
在決定一事物的若干條件中,只要有一個條件能滿足時,結(jié)果就會出現(xiàn);只有當所有條件都不滿足是,結(jié)果才不出現(xiàn),這種因果關(guān)系就稱為“邏輯或”。
如圖所示兩個開關(guān)并聯(lián)電燈電路中,兩個開關(guān)S1、S2中只要有一個閉合時,電燈EL就會亮起;只有兩個開關(guān)都不閉合,電燈EL才不會亮。4
真值表A或B的真值表(也寫作A∨****B(邏輯學),A || B(計算機科學),或A + B(電子學))。4
|| ||
運算性質(zhì)邏輯或滿足以下性質(zhì):5
結(jié)合律: A||(B||C)≡ (A||B)||C
交換律: A||B ≡ B||A
分配律: A||(B∧C) ≡ ((A||B)∧(A||C))
A∧(B||C) ≡ ((A∧B)||(A∧C))
A||(B≡C) ≡ ((A||B)≡(A||C))
冪等律: A||A ≡ A
單調(diào)性: (A→B)→((C||A)→(C||B))
(A→B)→((A||C)→(B||C))
保真性: 所有變量的真值皆為“真”的命題在邏輯或運算后的結(jié)果為真。
保假性: 所有變量的真值皆為“假”的命題在邏輯或運算后的結(jié)果為假。
示例0 || 0 = 0;
1 || 0 = 1;
0 || 1 = 1;
1 || 1 = 1;
應用拓展C/C++中|與|| 的區(qū)別:
(1)||:表示邏輯或
邏輯或,是邏輯運算符,符號是“||”。表示當兩個條件中有任一個條件滿足,“邏輯或”的運算結(jié)果就為“真”。
(2)|:表示按位或
按位或運算符“|”是雙目運算符。其功能是參與運算的兩數(shù)各對應的二進位相或。只要對應的二個二進位有一個為1時,結(jié)果位就為1。3
128: (0001 0000 0000)
127: (0000 1111 1111) (高位用0補齊)
按位或就是(0001 1111 1111)=255。
本詞條內(nèi)容貢獻者為:
齊臣杰 - 研究員 - 北京信息科技大學