How to rotate a number to the right by N bits using bit operation in VB.NET

1 Answer

0 votes
Imports System

Public Class Program
    Public Shared Function rotate_right(ByVal num As Integer, ByVal n As Integer) As Integer
		return (num >> n) Or (num << (32 - n))
    End Function

	Public Shared Sub Main()
        Dim num As Integer = 16
		
        Console.WriteLine(Convert.ToString(num, 2).PadLeft(16, "0"c))
		
        num = rotate_right(num, 2)
		
        Console.WriteLine(Convert.ToString(num, 2).PadLeft(16, "0"c))
		
        Console.WriteLine(num)
    End Sub
End Class




' run:
'
' 0000000000010000
' 0000000000000100
' 4
'

 



answered Jan 10, 2023 by avibootz
...