비트 단위 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 x z = 3
- &&연산자는 첫 번째 피연산자가 false가 되면 두 번째 피연산자를 평가하지 않습니다. 마찬가지로 || 연산자는 첫 번째 피연산자가 참이 될 때 두 번째 피연산자를 평가하지 않지만 &및 | 항상 피연산자를 평가합니다.
예시
#include<iostream> using namespace std; int main() { int x = 0; cout << (x && printf("Test using && ")) << endl; cout << (x & printf("Test using & ")); }
출력
0 Test using & 0