小弟最近无聊,研究了一下进制转换,发现一般人使用的方法都是用来除一个数的方法得到的,觉得很是没有创意,于是我就凭着我们中国人的聪明以及不屈不饶,刻苦求知的精神,终于得到另外一种独特的方法.
那个方法首先要使用两个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了.
不过只是无聊的时候写的,所以也就没有研究相关的反函数和其它的转换方法.