이 장에서는 산술, 관계형, 논리적, 비트, 할당 및 기타 연산자가 하나씩 검사합니다. AND 연산자와 마찬가지로 다중 비트 값도 마찬가지입니다. 비트 별 및 연산자는 단일 앰퍼샌드: & 그것은 단지 의 표현이다 AND 이는 나연의 진실 값보다는 나연산자의 비트에 그 작업을 수행. 비트 바이너리 AND는 이진 형태의 숫자의 각 위치에서 비트의 논리적 AND(위 표와 같이)를 수행합니다. 조건부 연산자(?). 조건이 true이면 X값을 반환합니다. 한 비트 값의 경우 AND 연산자는 두 비트가 모두 “켜기” 상태에 있는 경우 “on”의 결과를 제공합니다. 그렇지 않으면 “꺼지기”의 값을 생성합니다. 실제로 연산자의 왼쪽값은 이동중인 값이고 오른쪽의 값은 이동될 횟수(또는 위치)입니다. 이러한 연산자는 각 비트를 특정 양만큼 사용되는 변속 연산자 유형에 의해 지정된 방향으로 이동합니다. 바이트에서 완전히 이동되는 비트는 버려지고 반대쪽에 0으로 패딩됩니다. 4) 좌프트 및 우측 시프트 연산자는 각각 2배곱 및 분할에 해당합니다. 포인트 1에서 언급했듯이 숫자가 양수인 경우에만 작동합니다.

이 연산자는 표현식에 지정된 위치에 따라 비트를 오른쪽으로 이동하는 데 사용됩니다. sizeof 연산자는 변수의 크기를 반환합니다. 예를 들어 sizeof(a)는 `a`가 정수이며 4를 반환합니다. 1) 왼쪽 시프트 및 오른쪽 시프트 연산자는 음수에 사용해서는 안 되며 피연산자 중 음수가 음수인 경우 정의되지 않은 동작이 발생합니다. 예를 들어 -1 << 1과 1 << -1의 결과는 정의되지 않습니다. 또한 숫자가 정수 크기보다 더 많이 이동되면 동작이 정의되지 않습니다. 예를 들어 정수 32비트를 사용하여 정수에 저장하는 경우 1 << 33은 정의되지 않습니다. 자세한 내용은 이쪽을 참조하십시오.

바이트 10100111이 있고 처음 두 비트를 얻으려고 한다고 가정해 보겠습니다. 비트 마스크를 사용하여 이 목표를 달성할 수 있습니다. 비트 마스크에서 0의 비트는 무시를 의미하고 1은 추출을 의미합니다. 우리의 경우, 비트 마스크는 이것을 좋아할 것입니다 : 000000011. 비트 마스크를 적용하려면 AND 연산을 사용합니다. 좌측 교대 연산자의 기호는 <<입니다. 오른쪽 오퍼랜드에 의해 표시된 위치 수에 따라 왼쪽 에 있는 각 비트를 왼쪽으로 이동합니다. 그것은 오른쪽 시프트 연산자의 반대 작동합니다. 따라서 위의 예제에서 ch << 1을 수행하 여 11001010을 가지고 있습니다. 생성된 빈 공백은 위와 같이 0으로 채워집니다.

변속 연산자에 대해 생각할 수 있는 몇 가지 용도는 다음과 같습니다: 5) 숫자의 값이 홀수인지 또는 표현값(x & 1)이 x가 홀수인 경우에만 0이 아닌 지 여부를 신속하게 확인하는 데 사용할 수 있습니다. C 프로그래밍 언어에서 비트 연산자사용으로 비트 레벨에서 작업을 수행할 수 있습니다.