與眾不同的進(jìn)制轉(zhuǎn)換方法
發(fā)表時(shí)間:2024-02-20 來(lái)源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]小弟最近無(wú)聊,研究了一下進(jìn)制轉(zhuǎn)換,發(fā)現(xiàn)一般人使用的方法都是用來(lái)除一個(gè)數(shù)的方法得到的,覺(jué)得很是沒(méi)有創(chuàng)意,于是我就憑著我們中國(guó)人的聰明以及不屈不饒,刻苦求知的精神,終于得到另外一種獨(dú)特的方法.那個(gè)方法首先要使用兩個(gè)Function:Function bLength(x As Long) As Long...
小弟最近無(wú)聊,研究了一下進(jìn)制轉(zhuǎn)換,發(fā)現(xiàn)一般人使用的方法都是用來(lái)除一個(gè)數(shù)的方法得到的,覺(jué)得很是沒(méi)有創(chuàng)意,于是我就憑著我們中國(guó)人的聰明以及不屈不饒,刻苦求知的精神,終于得到另外一種獨(dú)特的方法.
那個(gè)方法首先要使用兩個(gè)Function:
Function bLength(x As Long) As Long 注釋?zhuān)河脕?lái)得到要轉(zhuǎn)換的數(shù)字轉(zhuǎn)換后的二進(jìn)制長(zhǎng)度
bLength = Int(Log(x) / Log(2))
End Function
Function bBit(x As Long, Pos As Long) As String 注釋?zhuān)旱玫街付ㄎ坏淖址?br>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是要轉(zhuǎn)換的Dec,返回值就是轉(zhuǎn)換后的Bin了.
不過(guò)只是無(wú)聊的時(shí)候?qū)懙?所以也就沒(méi)有研究相關(guān)的反函數(shù)和其它的轉(zhuǎn)換方法.