## Shift Right FunctionBitwise Class

```Public Function ShiftRight( _
ByVal vValue As Variant _
, ByVal vNBits As Variant _
) As Variant```

### Shift the bits to the right within any type of value, losing those bits in the least-significant-positions and filling the most-significant-bits with 0 (zero).

Examples:
```    ShiftRight( 3, 2) = 0
ShiftRight(-3, 2) = 16383
ShiftRight(32767, 2) = 8191
ShiftRight(Chr\$(16) + Chr\$(32), 5) = Chr\$(0) + Chr\$(129)```
In the Shift Right operation, the bits of the string are shifted to the right (more-significant-bits are shifted to less-significant-positions). Those bits which were occupying the vNBits least-significant-positions are lost, and the vNBits most-significant-bits are set to 0 (zero).
```    ArithmeticShiftRight Function
RotateRight Function
ShiftLeft Function```
vValue: Value whose bits are to be shifted left. Function returns Null if vValue is Null.

vNBits: The number of positions that the bits within vValue are to be shifted right. Function returns Null if vNBits is Null or cannot be fixed up to a number.

Function returns vValue unchanged if vNBits is 0 (zero).

If vNBits is < 0 (less than zero), then the function will shift bits to the left instead of to the right.

Function will return the same type of value as vValue, or in the case of Date values (in which not all combinations of bits are valid) it may possibly generate a runtime error.