邏輯與 或和條件與 或

2021-10-01 17:56:16 字數 740 閱讀 1167

今天在看先看乙個問題的時候,發現了有人問判斷條件裡為什麼不用 & 和 | ?只記得以前學習c的時候,老師就說條件判斷要用 || 和 && ,而不是 | 和&,也就一直這麼用了。

我們知道邏輯與或是邏輯運算子,那麼既然是運算子,那肯定是有運算結果的;而條件判斷也是一種運算,只不過它的結果只有true和false,也就是對應1和0。既然邏輯運算結果包含0和1,那麼某些情況下,邏輯與或也可用於條件判斷,所以才會有此一問。再換句話說,條件與或其實就是只有0和1的邏輯與或運算,而且其實在電路層面條件判斷就是用邏輯運算實現。寫個栗子:

#include #include using namespace std;

#define out(num) cout 結果如下:

總結:1. 當只有bool型別時,邏輯與或和條件與或結果一致,可以使用邏輯與或進行條件判斷

2.上述情況可以,但沒必要。條件與或是依次匹配的,很多時候不必把所有的結果都運算出來就可以判斷結果了,比如 1 || ***,還有 0 && ***;如果是邏輯運算,那麼它的判斷條件是運算結果,則必須要計算出結果來,1 | x | x | x | x...,白白浪費計算力。

ps: 很簡單,其實就是不想幹活了,就跑來瞎寫寫。磕鹽要加糖,我們都一樣。

與或非 和 邏輯 與或 運算

謹記 與或非是針對二進位制進行計算的,邏輯與和非是針對事件真假進行計算。二進位制的 與 運算a ba b00 0100 0101 11 二進位制的 或 運算a ba b00 0101 0111 11 二進位制的 非 運算a a0 1127 128 1211 邏輯 與 運算 事件 a 事件 a 事件 ...

java中短路與 邏輯與 短路或 邏輯或

created by cxh on 17 07 21.幾個名詞的定義和它們之間的區別 短路與 eg 條件1 條件2 執行過程 如果條件1成立,則繼續計算條件2 如果條件1不成立,則條件2不再計算,直接返回false.邏輯與 eg 條件1 條件2 執行過程 如果條件1成立,條件2繼續計算 如果條件1不...

邏輯與和邏輯或的過載

和 是c 中非常特殊的操作符 和 內建實現了短路規則 操作符過載是靠函式過載來完成的 運算元作為函式引數傳遞 c 的函式引數都會被求值,無法實現短路規則 所以一般情況下不會過載邏輯與和邏輯或。下面就用乙個案例來分析為什麼不要過載邏輯或和邏輯與。include class test8 bool ope...