总裁夫人卉宜 小说:vb的一些编程问题

来源:百度文库 编辑:高考问答 时间:2024/05/04 22:04:26
binstr=""
number=number+1
for x=7 to 0 step-1
if number>2^x then
number=number-2^x
binstr="1"
else binstr="0"
end if
这是一个把数值变为二进制的 不太懂if里面的具体意思~~是怎么实现这个功能的?能解释一下么?

这个算法有问题,应该改成下面
if number>=2^x
then binstr=binstr&"1"
else binstr=binstr&"0"
首先要说的是,这个方法对2的8次方以上的数无效
你清楚2进制换算吧
一个数转换成2进制,首先要判断它比2的几次方大
比如说65吧,它比2的6次方 64大,
所以在第一个语句if number>2^7中,第一次是2的7次方,执行else
binstr="0"
然后执行下一个循环
if number>2^6 执行then
number-2^6
binstr=binstr&"1"现在binstr=01
然后依次判断结果分别为0,0,0,0,1
所以最后得到的binstr为0100001