Operator Shr= (Shift Right And Assign)

Shifts right and assigns a value to a variable

Syntax
	KeyPgDeclareDeclare KeyPgOperatorOperator Shr= ( KeyPgByrefByRef lhs KeyPgAsAs KeyPgIntegerInteger, KeyPgByrefByRef rhs KeyPgAsAs KeyPgIntegerInteger )
	KeyPgDeclareDeclare KeyPgOperatorOperator Shr= ( KeyPgByrefByRef lhs KeyPgAsAs KeyPgUintegerUInteger, KeyPgByrefByRef rhs KeyPgAsAs KeyPgUintegerUInteger )
	KeyPgDeclareDeclare KeyPgOperatorOperator Shr= ( KeyPgByrefByRef lhs KeyPgAsAs KeyPgLongintLongInt, KeyPgByrefByRef rhs KeyPgAsAs KeyPgLongintLongInt )
	KeyPgDeclareDeclare KeyPgOperatorOperator Shr= ( KeyPgByrefByRef lhs KeyPgAsAs KeyPgUlongintULongInt, KeyPgByrefByRef rhs KeyPgAsAs KeyPgUlongintULongInt )

Usage
	lhs shr= rhs

Parameters
	lhs
		The variable to assign to.
	rhs
		The value to shift lhs right by.

Description
	This operator shifts the bits in its left-hand side (lhs) parameter a 
	number of times specified by its right-hand side (rhs) parameter, and 
	assigns the result to lhs. It is functionally equivalent to:
		lhs = lhs KeyPgOpShiftRightShr rhs

	This operator can be overloaded for user-defined types as a member 
	KeyPgOperatorOperator using the appropriate syntax.

	Note: Similarly to the operator '=[>]' (assign), the alternative symbol 
	'Shr=>' can be also used.

Example
	Dim i As Integer
	i = &b00011000   '' = 24
	i Shr= 3         '' = i\2^3
	'' Result: 11          3            3
	Print Bin(i), i, 24\2^3
	Sleep

Dialect Differences
	* Not available in the CompilerOptlang-lang qb dialect unless referenced with the 
	  alias __Shr=.

Differences from QB
	* New to FreeBASIC

See also
	* KeyPgOpShiftRightOperator Shr (Shift Right)
	* KeyPgOpCombineShiftLeftOperator Shl= (Shift Left And Assign)
	* CatPgMathMathematical Functions

