devxlogo

RotateLeft – Rotate a Long to the left

RotateLeft – Rotate a Long to the left

' Rotate a Long to the left the specified number of times'' NOTE: requires Power2()Function RotateLeft(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 RotateLeft = value: Exit Function        For i = 1 To times        ' remember the 2 most significant bits        signBits = value And &HC0000000        ' clear those bit and shift to the left by one position        value = (value And &H3FFFFFFF) * 2        ' if the number was negative, then add 1        ' if bit 30 was set, then set the sign bit        value = value Or ((signBits 

devx-admin

Share the Post: