<-- Previous || Up || Next -->

Shift Right Function
Bitwise 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).

    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).
See also:
    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.

Copyright 1996-1999 Entisoft
Entisoft Tools is a trademark of Entisoft.