回答
它們是否相等完全取決於您如何定義運算符優先級。如果&&
優先於||
,那麼是的。否則,不。
在C++中如何? – retide
@retide搜索「C++運算符優先級」。轉移問題! – 2012-12-27 21:07:31
@pst擁有* right *的答案,但我相信在這裏很快會有其他答案,爲你填寫C++特有的信息。 –
在大多數編程語言中,您會發現運算符&&
的優先級高於||
。 因此,例如用Java,C#,C,C++,Python和Ruby等
A && B || C && D
相當於
(A && B) || (C && D)
你甚至可以複製粘貼代碼:
#include <iostream>
using namespace std;
int main() {
bool A = false;
bool B = false;
bool C = true;
bool D = true;
for(int i = 0; i < 2; ++i) {
A = (i == 0);
for(int j = 0; j < 2; ++j) {
B = (j == 0);
for(int k = 0; k < 2; ++k) {
C = (k == 0);
for(int l = 0; l < 2; ++l) {
D = (l == 0);
cout << A << " " << B << " " << C << " " << D << " -> ";
cout << ((A && B || C && D) == ((A && B) || (C && D))) << endl;
}
}
}
}
return 0;
}
到Ideone找出你自己。以C++爲例,輸出爲:
1 1 1 1 -> 1
1 1 1 0 -> 1
1 1 0 1 -> 1
1 1 0 0 -> 1
1 0 1 1 -> 1
1 0 1 0 -> 1
1 0 0 1 -> 1
1 0 0 0 -> 1
0 1 1 1 -> 1
0 1 1 0 -> 1
0 1 0 1 -> 1
0 1 0 0 -> 1
0 0 1 1 -> 1
0 0 1 0 -> 1
0 0 0 1 -> 1
0 0 0 0 -> 1
所以((A && B || C && D) == ((A && B) || (C && D)))
是一種重言式。
雖然最後的答案轉到你問有關C++語言的細節,這裏的一些深思,爲什麼(以及可能如何)記住:
連詞(AND,& &)經常與乘法有關,而析取(OR,||)通常與加法相關(我們通常知道乘法與加法的優先級)。
下面是http://www.ocf.berkeley.edu/~fricke/projects/quinto/dnf.html報價:
...作爲一個實際問題,我們與 乘法和脫節與另外平時助理一起。事實上,如果我們將1確定爲 ,將0確定爲假,則{0,1}與在大小爲2的伽羅瓦域(例如,算術模2)上的加法和乘法的定義相結合,然後加(+ )和 (或)的分離實際上是相同的,正如乘法和連接(和)一樣。 ...
從相當籠統的角度講,計算機語言傾向於尊重乘法運算符優於加法運算符。
(此外,這些關聯,例如,在邏輯和代數再次發生在其他領域,例如類型的系統。對於一個有趣的論述,請參閱http://blog.lab49.com/archives/3011代數型系統的概念。運營商之間)
- 1. 布爾邏輯(邏輯門)
- 2. 布爾邏輯
- 3. 布爾邏輯[布爾]
- 4. 布爾門邏輯
- 5. NSUserDefaults布爾邏輯
- 6. MonkeyTalk布爾邏輯
- 7. 邏輯與布爾
- 8. Python布爾邏輯混淆
- 9. 簡化布爾邏輯
- 10. 布爾邏輯問題
- 11. 布爾邏輯簡化
- 12. 布爾邏輯誤解
- 13. 級聯布爾邏輯
- 14. 布爾邏輯問題
- 15. 布爾邏輯混淆
- 16. Python的布爾邏輯鏈
- 17. 簡化布爾邏輯
- 18. SQL布爾邏輯條件
- 19. VBA中的布爾邏輯
- 20. 布爾邏輯A'B + AB'
- 21. PHP錯誤,布爾邏輯
- 22. KornShell布爾條件邏輯
- 23. C位布爾邏輯
- 24. 這裏是一個布爾邏輯
- 25. 將行更改爲布爾邏輯/邏輯
- 26. 邏輯:if-elif-else如何適應布爾邏輯?
- 27. 布爾邏輯在邏輯應用條件下無效
- 28. 布爾邏輯,真要是1出4都爲真
- 29. 布爾邏輯出錯了嗎?
- 30. 樹頂布爾邏輯運算
請先搜索。這裏的關鍵字是「C++」和「布爾運算符」。另一個有用的詞是「優先」。在線應該不缺少有用的信息。 (隨機第一擊:http://www.cplusplus.com/doc/tutorial/operators/) – 2012-12-27 21:10:13