다음을 통해 공유


>>= 연산자(Visual Basic)

변수 또는 속성 값에 대해 산술 오른쪽 시프트를 수행하고 결과를 다시 변수 또는 속성에 할당합니다.

구문

variableorproperty >>= amount  

부분

variableorproperty
필수입니다. 정수 형식(SByte, Byte, Short, UShort, Integer, UInteger, Long 또는 ULong)의 변수 또는 속성입니다.

amount
필수입니다. Integer로 확장되는 데이터 형식의 숫자 식입니다.

설명

>>= 연산자의 왼쪽에 있는 요소는 단순 스칼라 변수, 속성 또는 배열 요소일 수 있습니다. 변수 또는 속성은 ReadOnly일 수 없습니다.

>>= 연산자는 먼저 변수 또는 속성 값에 대해 산술 오른쪽 시프트를 수행합니다. 그런 다음 연산자는 해당 작업의 결과를 다시 변수나 속성에 할당합니다.

산술 시프트는 원형이 아니으므로 결과의 한쪽 끝에서 이동된 비트가 다른 쪽 끝에서 다시 도입되지 않습니다. 산술 오른쪽 시프트에서는 가장 오른쪽 비트 위치를 넘어 시프트된 비트가 버려지고 가장 왼쪽 비트가 왼쪽에 비어 있는 비트 위치로 전파됩니다. 이는 variableorproperty가 음수 값을 갖는 경우 비워진 위치가 1로 설정됨을 의미합니다. variableorproperty가 양수이거나 해당 데이터 형식이 부호 없는 형식인 경우 비워진 위치는 0으로 설정됩니다.

오버로딩

>> 연산자오버로드될 수 있습니다. 즉, 피연산자가 해당 클래스 또는 구조체 형식을 가질 때 클래스 또는 구조체의 동작을 재정의할 수 있습니다. >> 연산자를 오버로드하면 >>= 연산자의 동작에 영향을 미칩니다. 코드가 >>를 오버로드하는 클래스 또는 구조체에서 >>=을 사용하는 경우 재정의된 동작을 이해해야 합니다. 자세한 내용은 Operator Procedures을 참조하세요.

예시

다음 예에서는 >>= 연산자를 사용하여 Integer 변수의 비트 패턴을 할당된 양만큼 오른쪽으로 이동하고 결과를 변수에 할당합니다.

Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (two bits were lost off the right end).

참고 항목