devxlogo

RotateRight – Rotate a Long to the right

RotateRight – Rotate a Long to the right

' Rotate a Long to the right the specified number of times'' NOTE: requires Power2()Function RotateRight(ByVal value As Long, ByVal times As Long) As Long    Dim i As Long, signBits As Long        ' no need to rotate more times than required    times = times Mod 32    ' return the number if it's a multiple of 32    If times = 0 Then RotateRight = value: Exit Function        For i = 1 To times        ' remember the sign bit and bit 0        signBits = value And &H80000001        ' clear those bits and shift to the right by one position        value = (value And &H7FFFFFFE)  2        ' if the number was negative, then re-insert the bit        ' if bit 0 was set, then set the sign bit        value = value Or ((signBits 

devx-admin

Share the Post: