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

See also  How College Students Can Shape the Future of Tech Responsibility
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