> 백엔드 개발 > C++ > 본문

C++에서 <<와 >>의 차이점은 무엇입니까

下次还敢
풀어 주다: 2024-04-26 17:56:48
원래의
375명이 탐색했습니다.

<< 및 >>는 각각 정수의 비트 왼쪽 시프트와 비트 오른쪽 시프트에 사용되는 비트 시프트 연산자입니다. 왼쪽 이동 연산자(>)는 정수의 이진 표현을 오른쪽으로 이동하여 빈 비트를 부호 비트 또는 0으로 채웁니다.

C++에서 <<와 >>의 차이점은 무엇입니까

C++의 <<와 >>의 차이점

C++의 <<(오른쪽 시프트 연산자)는 비트 연산 연산자입니다. , 부호 있는 정수나 부호 없는 정수를 비트 단위로 이동하는 데 사용됩니다. 그들 사이의 주요 차이점은 이동 방향입니다.

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

왼쪽 시프트 연산자 << 정수의 이진 표현을 지정된 비트 수만큼 왼쪽으로 이동합니다. 정수가 부호 있는 정수인 경우 비워진 비트는 부호 비트로 채워집니다(양수의 경우 0, 음수의 경우 1). 정수가 부호 없는 정수인 경우 비워진 비트는 0으로 채워집니다.

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

오른쪽 시프트 연산자 >> 정수의 이진 표현을 지정된 자릿수만큼 오른쪽으로 이동합니다. 부호 있는 정수의 경우 부호 비트가 비워진 비트에 복사되어 숫자의 부호가 유지됩니다. 부호 없는 정수의 경우 비어 있는 비트는 0으로 채워집니다.

Usage

왼쪽 시프트 연산자는 일반적으로 정수에 2의 거듭제곱을 곱하는 데 사용됩니다. 이는 이진수 표현에 0을 더하는 것과 같습니다.

int x = 5; // 二进制:101
x << 2; // 二进制:10100 (等效于 x * 2^2)
로그인 후 복사

오른쪽 시프트 연산자는 일반적으로 정수를 2의 거듭제곱으로 나누는 데 사용됩니다. 이는 이진 표현에서 0을 제거하는 것과 동일하기 때문입니다.

int y = 20; // 二进制:10100
y >> 2; // 二进制:101 (等效于 y / 2^2)
로그인 후 복사

다음 표에서는 << 부호 있는 정수

5 << 22020-5 << 25 >> 21

1

  • -5 >> 2
  • -2
2147483646🎜🎜🎜🎜🎜🎜참고: 🎜🎜🎜🎜부호 없는 정수의 경우 오른쪽 시프트 연산의 결과는 항상 양수입니다. 🎜🎜부호 있는 정수의 경우 오른쪽 시프트 연산의 결과는 부호 비트에 따라 달라집니다. 🎜🎜

위 내용은 C++에서 <<와 >>의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
5 << 22020
-5 << 2-20-20
5 >> 2</p> <td>1</td> <td>1</td> <tr> <td> <code>-5 >> 2-20 -20