VBA:10进制转2进制
注意:这两个函数都修改了参数的值,如果想再次使用相应的值应该提前保留
如:a=10;b=DECtoBIN(a);则结果:b=1010,a=0
Public Function DECtoBIN(Dec As Double) As String
DECtoBIN = ""
Do While Dec > 0 '这个循环就是辗转相除法的循环
DECtoBIN = Dec Mod 2 & DECtoBIN 'DECtoBIN 是每次产生的余数连成的字符串
Dec = Dec \ 2 'dec为下次要进行除法的被除数。
Loop
End Function
将10进制数转为2进制,并保证8位数组成,不足8位,左边补0
Public Function DECtoBINa(Dec As Double) As String
DECtoBINa = ""
Do While Dec > 0 '这个循环就是辗转相除法的循环
DECtoBINa = Dec Mod 2 & DECtoBINa 'DECtoBIN 是每次产生的余数连成的字符串
Dec = Dec \ 2 'dec为下次要进行除法的被除数。
Loop
cd = Len(DECtoBINa)
If cd < 8 Then
DECtoBINa = String(8 - cd, "0") & DECtoBINa
End If
End Function