35 lines
667 B
VB.net
35 lines
667 B
VB.net
Public Function Bin(ByVal l As Long) As String
|
|
Dim i As Long
|
|
If l Then
|
|
If l And &H80000000 Then 'negative number
|
|
Bin = "1" & String$(31, "0")
|
|
l = l And (Not &H80000000)
|
|
|
|
For i = 0 To 30
|
|
If l And (2& ^ i) Then
|
|
Mid$(Bin, Len(Bin) - i) = "1"
|
|
End If
|
|
Next i
|
|
|
|
Else 'positive number
|
|
Do While l
|
|
If l Mod 2 Then
|
|
Bin = "1" & Bin
|
|
Else
|
|
Bin = "0" & Bin
|
|
End If
|
|
l = l \ 2
|
|
Loop
|
|
End If
|
|
Else
|
|
Bin = "0" 'zero
|
|
End If
|
|
End Function
|
|
|
|
'testing:
|
|
Public Sub Main()
|
|
Debug.Print Bin(5)
|
|
Debug.Print Bin(50)
|
|
Debug.Print Bin(9000)
|
|
End Sub
|