在 Python 和 C++ 中,“与”和“或”的实现逻辑相似,但符号和使用方式有区别。
1.Python 中的与、或
- 与(AND):and
- 或(OR):or
1.1 逻辑与、或:
- 用于布尔值(True 或 False)之间的逻辑运算。
- 短路求值:在 and 运算中,如果第一个值为 False,后续表达式不会被执行;在 or 运算中,如果第一个值为True,后续表达式不会被执行。
# 与(and)
print(True and False) # 输出: False
print(True and True) # 输出: True# 或(or)
print(True or False) # 输出: True
print(False or False) # 输出: False
1.2 位与、位或:
- 位运算符:&(与),|(或)。
- 逐位计算两个整数的二进制形式的与或结果。
# 位与(&)
print(5 & 3) # 输出: 1 (5=101, 3=011,结果 001)# 位或(|)
print(5 | 3) # 输出: 7 (5=101, 3=011,结果 111)
2. C++ 中的与、或
- 与(AND):&&(逻辑与),&(位与)
- 或(OR):||(逻辑或),|(位或)
2.1 逻辑与、或:
- 用于布尔值(true 或 false)之间的逻辑运算。
- 同样支持 短路求值。
// 与(&&)
std::cout << (true && false) << std::endl; // 输出: 0
std::cout << (true && true) << std::endl; // 输出: 1// 或(||)
std::cout << (true || false) << std::endl; // 输出: 1
std::cout << (false || false) << std::endl; // 输出: 0
2.2 位与、位或:
- 位运算符:&(与),|(或)。
- 逐位计算两个整数的二进制形式的与或结果。
// 位与(&)
std::cout << (5 & 3) << std::endl; // 输出: 1 (5=101, 3=011,结果 001)// 位或(|)
std::cout << (5 | 3) << std::endl; // 输出: 7 (5=101, 3=011,结果 111)
3. Python 与 C++ 的对比
- Python 使用 and 和 or 进行逻辑运算,C++ 使用 && 和 ||。
- 位运算符在两种语言中一致:& 和 |。
- Python 的布尔结果是 True/False,而 C++ 是 1/0。