vbs程序问题~~~~~~~~~~急!!!

来源:百度知道 编辑:UC知道 时间:2024/06/09 09:22:53
我写了一个vbs脚本,代码如下:

a=inputbox("1")
dim c()
p=""
do
p=p & mo(a)
a=x(a)
if a="0" then
exit do
end if
loop

msgbox StrReverse(p)

function mo(a)
a=int(Right(a,1)) mod 2
end function
function x(a)
dim b()
redim b(len(a)-1)
p=0
for i=0 to len(a)-1
b(i)=cstr(int(mid(a,i+1,1))\2+p*5)
p=cbyte(mid(a,i+1,1)) mod 2
next
x=join(b,"")
end function

作用是将十进制转化为二进制
怎么怎样输入都输出1啊????
请说明原因在给解决方案

函数调用 a 有问题 如 mo()
function mo(n)
mo=int(Right(n,1)) mod 2
end function

x() 可能也要改

'呵呵,说实话我没有看懂你的代码,怎么没有注释而且没有缩进??你看一'下我的方法吧,其实很简单的
function ToBinary(dec)
i=0
while(CLng(dec/2^i)>0)
d=CLng(-Cbool(2^i and dec))&d '与2的i次方按位与,取得第i个二进制位
i=i+1
wend
msgbox "The " &dec&" is equal to " &d&"."
end function
ToBinary(inputbox(vblf&"The value It will be calculated","By zhb0813",7))
ToBinary(19870626)
'代码主要是利用了and按位与仔细想一下应该会懂的