VB题,编程题, 大学VB希望可以详细解释一下第4题,这道题到底如何做? 希望可以详细写出解答步骤

VB题,编程题,
大学VB希望可以详细解释一下第4题,这道题到底如何做?
希望可以详细写出解答步骤,学弟在线等
我在线等,,,,
VB高手帮帮学弟,
真诚相待!

dim x $,n%,a% 这个是定义变量X为字符串,n和a为整形变量
n=20 给n赋一个初值为20
do while n<>0 do 循环,当满足条件n不等于0时执行循环体,当n为0时退出循环体
a=n mod 2 把n取余2的值赋给变量a,第一次20 mod 2 值为0,所以a=0
n=n\2 前面n取余2时相当于n实际缩小了一半,这里是把n整除2的值再赋给n
x=chr(48+a) & x chr是把数字转换成字符的函数,ASCII码表中48代表的是0,如果a=0则x=0,
loop 如果a=1则x=1,用&符号把字符串连接起来

print x 输出字符串x的值

这道题实际上是求n的二进制追问

亲,你真好

我有个地方看不懂

希望可以详细解释一下

追答

x第一次求得的值是1,第二次为0,后边求的值连接上前面求得的X的值(字符串0或1)后再赋给X。

追问

在不在?

追答

Chr(48),这个就是0,0所对应的ASCII码就是48,chr是转换的函数

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-25
dim x$, n%, a% ''定义变量,$ 与 % 是表示变量类型
n = 20 ''这个还看不懂你就可以撞墙去
do while n <> 0 ''DO 循环,当n不等于0里执行循环体
a = n mod 2 ''取余数
n = n \ 2 ''求商
x = chr(48 + a) & x ''也就这行稍微有点知识点了,chr(48 + a)的作用是把数字a转化为对应的字符(0的ascii码是48你应该知道吧),& 是连接字符串用的
loop ''循环
print x ''打印(输出)x

你算一下20的二进制表示是多少?再想想这个程序的原理吧。
现在的学生呀,十行不到的代码,有这么难么?追问

写的很认真

在吗?老师

相似回答