&

설명

C++에서 비트 AND 연산자는 단일 앰퍼샌드 & 이며, 두 정수 식 사이에 사용된다. 비트 AND 연산자는 둘러싸인 식들의 각 비트 위치에서 독립적으로 연산, 즉 이 규칙으로 한다: 각 입력이 1이면, 결과 출력은 1, 그렇지 않으면 결과는 0.

이것을 표현하는 다른 방법:

0 0 1 1 operand1 0 1 0 1 operand2 ---------- 0 0 0 1 (operand1 & operand2) - 결과 반환

아두이노에서, int 형식은 16비트 값이므로, 두 정수 식 사이에 & 을 사용하면 16개 AND 연산이 동시에 발생한다.

예제 코드

아래와 같은 코드 조각에서:

int a = 92; // 2진수: 0000000001011100 int b = 101; // 2진수: 0000000001100101 int c = a & b; // 결과: 0000000001000100, 즉 10진수 68

a와 b안의16비트의 각각은 비트 AND를 써서 처리되고, 16개 결과 비트는 c에 저장되어, 2진수 값 01000100이 되며, 10진수로는 68이다.

비트 AND의 가장 일반적인 용도 중 하나는 정수에서 특정 비트(또는 비트들)을 선택하는 것이며, 주로 masking 이라 불린다. 아래 예를 보세요

PORTD = PORTD & B00000011; // 비트 2 - 7을 0으로, 핀 0 과 1은 건드리지 않음 (xx & 11 == xx)
Please note: These are affiliate links. If you buy the components through these links, We may get a commission at no extra cost to you. We appreciate it.