给你一个最简单的方法,text1是你输入的数,text2是结果
Private Sub Command1_Click()
Dim a As Long
a = Text1.Text
Do Until a = 0
Text2.Text = Text2.Text & Int(Sqr(a)) & " "
a = a - Int(Sqr(a)) ^ 2
Loop
End Sub
Private Sub Form_Load()
Dim Summer As Long
Dim RetValue As String
Summer = 15
RetValue = GetBitsMap(Summer)
Me.Print
Me.Print " 十进制:"; Summer
Me.Print
Me.Print " 所选物品(二进制):"; RetValue
End Sub
Function GetBitsMap(ByVal Num As Long, Optional ByVal Index As Long) As String
If Num > 0 Then
If (Num And 1) = 0 Then
GetBitsMap = GetBitsMap + GetBitsMap(Num \ 2, Index + 1)
Else
GetBitsMap = GetBitsMap + Str(Index) + GetBitsMap(Num \ 2, Index + 1)
End If
End If
End Function