永发信息网

VB 十进制转二进制 代码问题 急!!

答案:3  悬赏:0  手机版
解决时间 2021-03-31 10:27
VB 十进制转二进制 代码问题 急!!
最佳答案
首先你要明白十进制转二进制的方法
如 100 转成2进制
用辗转相除法
100
除2 50 余数0
除2 25 余数0
除2 12 余数1
除2 6 余数0
除2 3 余数0
除2 1 余数1
除2 0 余数1
把相除过程中产生的余数倒序看 1100100 这就是100变成2进制的值
再看程序
Public Function DECtoBIn(Dec As Long) As String
DECtoBIN = ""
Do While Dec > 0 //这个循环就是辗转相除法的循环
DECtoBIN = Dec Mod 2 & DECtoBIN //DECtoBIN 是每次产生的余数连成的字符串
Dec = Dec \ 2 //dec为下次要进行除法的被除数。
Loop //注意这里字符串连接是倒序连接
End Function
同理看下面程序
Dim a%(10),m%,i%
M=val(inputbox(""))
i=0
do while m<>0 //这个也是辗转相除法的循环
a(i)=m mod 2 //用数组保留除得的余数
m=m\2 //m为下次要进行除法的被除数
i=i+1
loop
for k=i-1 to 0 step-1 //倒序输出余数
print a(k);
next追问额,我不要其他方法。。。就想知道自己的方法哪里出错了追答Private Sub Command1_Click()
Dim n As Integer, num As Long
Dim ch As String, Bin() As String, r As Integer, i As Integer
num = Val(Text1.Text)
n = 0
r = num
Do
n = n + 1
ReDim Preserve Bin(n)
Bin(n) = r Mod 2
r = r \ 2
Loop Until r < 1
For i = UBound(Bin) To 1 Step -1
ch = ch & Bin(i)
Next i
Text2.Text = ch
End Sub
全部回答
n=12345
do while(n>2)
s=s & (n and 1)
n=n\2
loop
s=strreverse(s)
msgbox s
Private Sub Command1_Click()
r = Val(Text1)
n = 0
Do
ch = r Mod 2 & ch
r = r \ 2
Loop Until r = 0
Text2 = ch
End Sub
你redim 数组变量 却不给其赋值 不是白搭么
再者你若是要 动态REDIM 也要加Preserve 这样才可保留住之前的数据
redim Preserve bin(n)
再者 r = num Mod 2 永远都是初始值NUM 去求余 那R值不都永远一样么
要是Num是奇数 不就死循环了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
香港总警司是什么官
谛深大师开示:什么是善
LG平板电脑8寸怎么样
如果想要当中小学音乐老师需要考些什么?
大话3选那个人物好 哪个门牌厉害啊!
读《一琬锟饨》的感受作文400字
货上钱逾期会怎么样?
二两的200倍是多少
北截河外交人员服务局宾馆
如左图甲所示,将一副三角尺的直角顶点重合在
一般多层停车场的造价是过少
梦见水库放水
单选题a+b和a的关系,正确的是A.a+b<aB.a+b
下载uber后为什么打不开
urbeats2.0耳机的线控为什么在左边?
推荐资讯
和自己的爱人一起赏月的心情
办公室有人在喝小绿瓶,这玩意喝了效果如何?
朱琳第一任丈夫是谁
交叉步过人要领是什么?
快餐厅起道名字用《道司令》怎么样,
layer这个单词怎么读
车,真的不能借吗?
一首歌尾音只能是do和la吗,为什么菊次郎的夏
G5出品的游戏(孤岛余生)一共有几部,,,〔
公园租一块1000平的地方一个月租金是多少。
一位瓜农用1.2米的扁担挑一担西瓜,前面两筐
剑兰的栽培方法
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?