Right shifts the value of a variable by the number of bits specified in the value of an expression, without maintaining sign, and assigns the result to the variable.

result>>>=expression

Arguments

result

Any numeric variable.

expression

Any numeric expression.

Remarks

Using this operator is almost the same as specifying result = result >>> expression, except that result is only evaluated once.

The >>>= operator shifts the bits of result right by the number of bits specified in expression. Zeroes are filled in from the left. Digits shifted off to the right are discarded. The operator masks expression to avoid shifting result by too much. Otherwise, if the shift amount exceeded the number of bits in the data type of result, all the original bits would be shifted away to give a trivial result. To ensure that each shift leaves at least one of the original bits, the shift operators use the following formula to calculate the actual shift amount: mask expression (using the bitwise AND operator) with one less than the number of bits in result.

Example

For example:

В

Copy Code

var temp
temp = -14
temp >>>= 2

The variable temp has a value of 1073741820 as -14 (11111111 11111111 11111111 11110010 in binary) shifted right two bits equals 1073741820 (00111111 11111111 11111111 11111100 in binary).