与众不同的进制转换方法 (转)

与众不同的进制转换方法 (转)[@more@]

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

那个方法首先要使用两个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了.
不过只是无聊的时候写的,所以也就没有研究相关的反函数和其它的转换方法.


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-992085/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-992085/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值