devxlogo

RotateRightI – Rotate an Integer to the right

RotateRightI – Rotate an Integer to the right

' Rotate an Integer to the right the specified number of times'' NOTE: requires Power2()Function RotateRightI(ByVal value As Integer, ByVal times As Long) As Integer    Dim i As Long, signBits As Integer        ' no need to rotate more times than required    times = times Mod 16    ' return the number if it's a multiple of 16    If times = 0 Then RotateRightI = value: Exit Function        For i = 1 To times        ' remember the sign bit and bit 0        signBits = value And &H8001        ' clear those bits and shift to the right by one position        value = (value And &H7FFE)  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 &H4000) Or (CBool(signBits And 1) _            And &H8000)    Next    RotateRightI = valueEnd Function

See also  How to Create and Deploy QR Codes Online: A Comprehensive Guide
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