C / C ++中按位与逻辑AND运算符有什么区别
众所周知,按位AND表示为“&”,逻辑运算符表示为“ &&”。它们之间有一些根本的区别。这些如下-
逻辑AND运算符适用于布尔表达式,并且仅返回布尔值。按位AND运算符可处理整数,short int,long,unsigned int类型的数据,并且还返回该类型的数据。
示例
#include<iostream>using namespace std;
int main() {
int x = 3; //...0011
int y = 7; //...0111
if (y > 1 && y > x)
cout << "y is greater than 1 AND x" << endl;
int z = x & y; // 0011
cout << "z = "<< z;
}
输出结果
y is greater than 1 AND xz = 3
如果第一个操作数为false,则&&运算符不会评估第二个操作数。同样,|| 当第一个操作数为true时,该运算符不评估第二个操作数,而是&和|之类的按位运算符 始终评估其操作数。
示例
#include<iostream>using namespace std;
int main() {
int x = 0;
cout << (x && printf("Test using && ")) << endl;
cout << (x & printf("Test using & "));
}
输出结果
0Test using & 0
以上是 C / C ++中按位与逻辑AND运算符有什么区别 的全部内容, 来源链接: utcz.com/z/340877.html