Dim m(50) As long
 Dim i As Long
 Dim t As Long
 Dim s As string
 Dim b As long
 Dim n As long 
'a为输入的十进制
 if a < 0 then
  msgbox "输入的数不能小与0","错误提示"
 else if a = 0 then
  m(1) = 0
      pint m(1)
 else 
        do while a >0 
t = a
a = a \ 2
'记录循环次数,用来赋给动态数组
i = i + 1
b = t-a*2
select case b
case 1
m(i) = 1
case 0
m(i) = 0
end select
loop
for n = i to 1 step -1
s = s + Cstr(m(n)) 
exit n
print s
end if  
不知道能可以运行不
用些错误的话希望大家提出来!