lang • shr


Value = Shr ( Number , Bit )

Returns Number shifted to the right by Bit bits. The sign of Number is kept.

The type of Number may be Byte, Short, Integer, or Long.

The valid range of Bit depends on the type of the Number argument.

Type of Number

Range of Bit
Byte 0...7
Short 0...15
Integer 0...31
Long 0...63

The datatype of the return value is the datatype of Number.



Type mismatch (6) The datatype of the Number argument is not valid.
Bad argument (20) The Bit argument is out of range.


Print Bin(11, 32), 11
Print Bin(Shr(11, 2), 32), Shr(11, 2)
00000000000000000000000000001011        11
00000000000000000000000000000010        2
Print Bin(-11, 32), -11
Print Bin(Shr(-11, 2), 32), Shr(-11, 2)
11111111111111111111111111110101        -11
11111111111111111111111111111101        -3

Shr() with a negative Byte Number argument will not keep the sign because the datatype Byte is always unsigned.


Print Asr(CByte(-64), 2)

See also