>백엔드 개발 >C++ >C 언어에서 << 및 >> 사용법

C 언어에서 << 및 >> 사용법

下次还敢
下次还敢원래의
2024-04-27 23:12:501060검색

C 언어에서 << 및 >>는 정수 변수에 대한 비트 연산을 수행하는 데 사용되는 비트 이동 연산자입니다. <<: 왼쪽 이동 연산자는 피연산자의 이진 표현을 왼쪽으로 이동합니다. 2의 거듭제곱에 해당하는 지정된 자릿수입니다. >>: 피연산자의 이진 표현을 지정된 자릿수만큼 오른쪽으로 이동하는 오른쪽 시프트 연산자. 이는 2의 거듭제곱으로 나누는 것과 같습니다. 부호 있는 오른쪽 시프트(>>)는 부호 비트를 유지하는 반면, 부호 없는 오른쪽 시프트(>>>)는 빈 비트를 0으로 채웁니다.

C 언어에서 << 및 >> 사용법

C 언어에서 << 및 > 연산자 사용

C 언어에서 <<> .

왼쪽 시프트 연산자(<<)

<< 이 연산자는 피연산자의 이진 표현을 지정된 자릿수만큼 왼쪽으로 이동합니다. 이는 2승 연산과 같습니다. 예:

int x = 5; // 二进制表示:00000000 00000101
int y = x << 2; // y 的二进制表示:00000000 00010100
// 等价于:y = x * 2^2 = 5 * 4 = 20

오른쪽 시프트 연산자 (>>)

연산자는 피연산자의 이진 표현을 지정된 자릿수만큼 오른쪽으로 이동합니다. 이는 기본 2 나누기 연산과 같습니다. 부호 있는 오른쪽 시프트(>>)와 부호 없는 오른쪽 시프트(>>>)로 나눌 수도 있습니다.
  • 부호 있는 오른쪽 시프트(>>):는 피연산자의 부호 비트를 유지하고 왼쪽 부호 비트를 비어 있는 비트에 채웁니다. 예:
int x = -5; // 二进制表示:11111111 11111011
int y = x >> 2; // y 的二进制表示:11111111 11111100
// 等价于:y = x / 2^2 = -5 / 4 = -2
  • 부호 없는 오른쪽 시프트(>>>):는 비어 있는 비트를 0으로 채우고 부호 비트는 유지되지 않습니다. 예:
int x = 5; // 二进制表示:00000000 00000101
int y = x >>> 2; // y 的二进制表示:00000000 00000001
// 等价于:y = x / 2^2 = 5 / 4 = 1

애플리케이션 시나리오

비트 시프트 연산자에는 다음을 포함한 광범위한 애플리케이션 시나리오가 있습니다.

  • 비트 필드 작업
  • 데이터 압축
  • 암호화 및 암호 해독
  • 성능 최적화

위 내용은 C 언어에서 << 및 >> 사용법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.