小弟最近無聊,研究了一下進制轉換,發(fā)現(xiàn)一般人使用的方法都是用來除一個數(shù)的方法得到的,覺得很是沒有創(chuàng)意,于是我就憑著我們中國人的聰明以及不屈不饒,刻苦求知的精神,終于得到另外一種獨特的方法.
那個方法首先要使用兩個Function:
Function bLength(x As Long) As Long 注釋:用來得到要轉換的數(shù)字轉換后的二進制長度 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了. 不過只是無聊的時候?qū)懙?所以也就沒有研究相關的反函數(shù)和其它的轉換方法.
|