다음을 통해 공유


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 특정 끝

참고 항목

참조

비트 AND 연산자: &

비트 배타적 OR 연산자: ^

비트 포함 논리합 연산자: |