回答
它们是否相等完全取决于您如何定义运算符优先级。如果&&
优先于||
,那么是的。否则,不。
在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