原问题:如果转换的十进制数大于长整型该如何转换?比如4294967295
我的解决方案:
我让程序自己解决,就是说让它自动识别类型 若类型识别不好 益出的话 加一句错误处理语句就把它给解决了
这里是我的代码 楼主参考下!
-
' 十进制转换二进制
' ——采用“基数除法”,具体步骤如下:
' (1)将给定的十进制整数除以基数2,余数便是等值的二进制的最低位。
' (2)将上一步的商再除以基数2,余数便是等值的二进制数的次低位。
' (3)重复步骤2,直到最后所得的商等于0为止。各次除得的余数,便是二进制各位的数,最后一次的余数是最高位
' **************cike例题******************
' name= 字符串整数转二进制
' form=command1
' ****************************************
Private Sub Command1_Click()
Cls
On Error Resume Next ' 忽略所有错误
a = 4294967295 # ' 直接赋值给变量a #号是系统自动加上去的不要奇怪
Do While a <> 0 ' a 没等于 0的时候就执行循环
b = a Mod 2 ' 这个获得余数
a = Int (a / 2 ) ' 把商重新赋给 a 以便下次再运算
s = s & b ' 记录每次的余数 倒过来就是你要的数了
Print a, b
Loop
For i = Len (s) To 1 Step - 1 ' 这个循环负责把获取的余数倒转过来
aa = Mid (s, i, 1 )
ss = ss & aa
Next i
Print ss ' 显示出这个值
End Sub