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 < 0) And &H40000000) Or (CBool(signBits And _            1) And &H80000000)    Next    RotateRight = valueEnd Function

See also  Does It Make Sense to Splurge on a Laptop?
devxblackblue

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist