devxlogo

Bin – Convert from decimal to binary

Bin – Convert from decimal to binary

' convert from decimal to binary' if you pass the Digits argument, the result is truncated' to that number of digits'' NOTE: requires Power2()Function Bin(ByVal value As Long, Optional digits As Long = -1) As String    Dim result As String, exponent As Integer    ' this is faster than creating the string by appending chars    result = String$(32, "0")    Do        If value And Power2(exponent) Then            ' we found a bit that is set, clear it            Mid$(result, 32 - exponent, 1) = "1"            value = value Xor Power2(exponent)        End If        exponent = exponent + 1    Loop While value    If digits ' trim non significant digits, if digits was omitted or negative        Bin = Mid$(result, 33 - exponent)    Else        ' else trim to the requested number of digits        Bin = Right$(result, digits)    End IfEnd Function

devx-admin

Share the Post: