与众不同的进制转换方法

王朝vb·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

小弟最近无聊,研究了一下进制转换,发现一般人使用的方法都是用来除一个数的方法得到的,觉得很是没有创意,于是我就凭着我们中国人的聪明以及不屈不饶,刻苦求知的精神,终于得到另外一种独特的方法.

那个方法首先要使用两个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了.

不过只是无聊的时候写的,所以也就没有研究相关的反函数和其它的转换方法.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航