C 비트 연산자
비트 단위 연산자는 비트 수행-와 (&), 배타적 비트 OR (^), 및-포괄-OR (|) 작업입니다.
구문
한 식:
같음 식한 식 및 같음 식
배타적 OR 식:
AND 식배타적 OR 식 ^ AND 식
포함 OR 식:
배타적 OR 식포함 OR 식 | 배타적 OR 식
비트 연산자의 피연산자는 정수 계열 형식의 경우 있어야 합니다 있지만 해당 형식이 다를 수 있습니다.이러한 연산자는 일반적인 산술 변환이 수행합니다. 결과 형식은 형식 피연산자의 변환 후입니다.
C 비트 단위 연산자는 다음과 같습니다.
Operator |
설명 |
---|---|
& |
And-및 연산자는 첫째 피연산자를 둘째 피연산자의 해당 비트를 각 비트가 비교 됩니다.두 비트가 모두 1 이면 해당 결과 비트는 1로 설정 됩니다.그렇지 않으면 해당 결과 비트는 0으로 설정 됩니다. |
^ |
비트 배타적 OR 연산자는 첫째 피연산자를 둘째 피연산자의 해당 비트를 각 비트가 비교합니다.비트가 0 인 고 다른 비트가 1 인 경우 해당 결과 비트는 1로 설정 됩니다.그렇지 않으면 해당 결과 비트는 0으로 설정 됩니다. |
| |
포괄-OR 연산자는 첫째 피연산자를 둘째 피연산자의 해당 비트를 각 비트가 비교합니다.둘 중 한 비트가 1 이면 해당 결과 비트는 1로 설정 됩니다.그렇지 않으면 해당 결과 비트는 0으로 설정 됩니다. |
예제
이러한 선언은 다음 세 가지 예제를 사용 합니다.
short i = 0xAB00;
short j = 0xABCD;
short n;
n = i & j;
지정 된 결과 n 이 첫 번째 예제와 같은입니다 i (16 진수 0xAB00).
n = i | j;
n = i ^ j;
세 번째 예제에서는 비트 배타적 OR 0xCD (16 진수)를 생성 하는 동안 두 번째 예제에서는 포괄적 비트 OR 0xABCD (16 진수) 값을 결과입니다.
Microsoft 전용
부호 있는 정수에 비트 단위 작업의 결과입니다 ANSI C 표준에 따라 구현 시 정의 됩니다.Microsoft C 컴파일러에 대 한 부호 있는 정수에 비트 연산을 부호 없는 정수에 비트 연산으로 동일 하 게 작동 합니다.예를 들어, -16 & 99 이진 형식으로 표현 될 수 있습니다
11111111 11110000
& 00000000 01100011
_________________
00000000 01100000
비트 AND의 결과 96 10 진수입니다.
Microsoft 특정 끝