关于vb进制的转换问题????

来源:百度知道 编辑:UC知道 时间:2024/06/03 16:28:26
麻烦帮我解释下,我不太理解!!!(Dec Mod 2 & M
)是什么意思啊!!谢谢了!!!!
' 用途:将十进制转化为二进
' 输入:Dec(十进制数)
' 输入数据类型:Long
' 输出:DEC_to_BIN(二进制数)
' 输出数据类型:String
' 输入的最大数为2147483647,输出最大数为1111111111111111111111111111111(31个1)
Public Function M(Dec As Long) As String
M= ""
Do While Dec > 0
M = Dec Mod 2 & M
Dec = Dec \ 2
Loop
End Function

Dec Mod 2 & M

Dec是个变量,是传进来的参数。和2取余,最后和M连接到一起。

这个是根据十进制转换为2进制的算法。

十进制转二进制:
用2辗转相除至结果为1
将余数和最后的1从下向上倒序写 就是结果
例如302
302/2 = 151 余0
151/2 = 75 余1
75/2 = 37 余1
37/2 = 18 余1
18/2 = 9 余0
9/2 = 4 余1
4/2 = 2 余0
2/2 = 1 余0
故二进制为100101110