How to get the lowest order set bit of a number in VB.NET

1 Answer

0 votes
Imports System
Imports System.Runtime.InteropServices

Public Class Program
    Public Shared Function GetLowestOrderSetBit(ByVal number As Integer) As Integer
        Dim INT_SIZE As Integer = Marshal.SizeOf(GetType(Integer))
 
        Dim lowestOrderBitIndex As Integer = -1
 
        For i As Integer = 0 To INT_SIZE - 1
            If ((number >> i) And 1) = 1 Then
                lowestOrderBitIndex = i
                Exit For
            End If
        Next
 
        Return lowestOrderBitIndex
    End Function
 
    Public Shared Sub Main(ByVal args() As String)
        Dim number As Integer = 1688 ' 11010011000
 
        Dim lowestOrderBitIndex As Integer = GetLowestOrderSetBit(number)
 
        Console.WriteLine(lowestOrderBitIndex)
    End Sub
End Class
 
 
 
 
 
' run:
'
' 3
'

 



answered Apr 6, 2024 by avibootz
edited Apr 6, 2024 by avibootz

Related questions

1 answer 115 views
1 answer 131 views
1 answer 126 views
1 answer 110 views
1 answer 169 views
1 answer 163 views
...