How to round a number to the previous power of 2 in VB.NET

1 Answer

0 votes
Imports System

Class Program
    Private Shared Function RoundToPreviousPowerOf2(ByVal n As Integer) As Integer
        If n <= 0 Then
            Return 0
        End If

        Return CInt(Math.Pow(2, Math.Floor(Math.Log(n, 2))))
    End Function

    Public Shared Sub Main()
        Dim num As Integer = 21
		
        Console.WriteLine($"Previous power of 2: {RoundToPreviousPowerOf2(num)}")
    End Sub
End Class


	
' run:
'
' Previous power of 2: 16
'

 



answered Oct 30, 2025 by avibootz

Related questions

1 answer 67 views
1 answer 48 views
4 answers 181 views
3 answers 193 views
2 answers 121 views
1 answer 141 views
1 answer 67 views
...