devxlogo

RotateLeftI – Rotate an Integer to the left

RotateLeftI – Rotate an Integer to the left

' Rotate an Integer to the left the specified number of times'' NOTE: requires Power2()Function RotateLeftI(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 RotateLeftI = value: Exit Function        For i = 1 To times        ' remember the 2 most significant bits        signBits = value And &HC000        ' clear those bit and shift to the left by one position        value = (value And &H3FFF) * 2        ' if the number was negative, then add 1        ' if bit 30 was set, then set the sign bit        value = value Or ((signBits < 0) And 1) Or (CBool(signBits And &H4000) _            And &H8000)    Next    RotateLeftI = valueEnd Function

See also  lenso.ai - an AI reverse image search platform
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