nbsp;nBit(7) = 128 ''10000000
'' 取 nValue 的地址
pValue = VarPtr( nValue )
'' win32 api, 将nValue的4个字节分别复制到nByte中,byref 就相当于指针
CopyMemory( nByte(1), byref pValue, 4 )
for i = 4 to 1 ''低字节在前
for j = 7 to 0 ''高位开始
'' 方法一, 减法
nTmp = 0
if nByte(i) > nBit(j) then
nByte = nByte(i) - nBit(j)
nTmp = 1 '' 这一位二进制是1
end if
sReturn = sReturn & cstr(nTmp)
'' 方法二,按位与 效率更高
nTmp = 1
if ( not ( nByte(i) imp nBit(j) ) ) = nBit(j) then
'' 我没有找到vb按位与的函数,只有按位"同与"(不记得是不是)的imp
nTmp = 0
end if
sReturn = sReturn & cstr(nTmp)
next j, i
o2b = sReturn
end function
在网吧里,没有环境,随手写写,有错误请见谅,主要是思路.