小弟最近无聊,研究了一下进制转换,发现一般人使用的方法都是用来除一个数的方法得到的,觉得很是没有创意,于是我就凭着我们中国人的聪明以及不屈不饶,刻苦求知的精神,终于得到另外一种独特的方法.
那个方法首先要使用两个Function:
Function bLength(x As Long) As Long 注释:用来得到要转换的数字转换后的二进制长度
bLength = Int(Log(x) / Log(2))
End Function
Function bBit(x As Long, Pos As Long) As String 注释:得到指定位的字符
Dim lTmp As Long
lTmp = 2 ^ Pos
bBit = IIf((x And lTmp) = lTmp, "1", "0")
End Function
以下是主程序:
Function DecToBin(x As Long) As String
Dim sBuf As String, lLength As Long, lPos As Long
sBuf = ""
lLength = bLength(x)
For lPos = 0 To lLength
sBuf = bBit(x, lPos) & sBuf
Next
DecToBin = sBuf
sBuf = ""
End Function
x是要转换的Dec,返回值就是转换后的Bin了.
不过只是无聊的时候写的,所以也就没有研究相关的反函数和其它的转换方法.
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073










