str = Val("&H" + stri)!!!!!!??????
解决方案 »
- SQL中like的用法
- 如何让mschart控件在绘制散点图时,把横轴定义成时间变量?
- *******************vb传递数组到dll的问题***************************
- 关于winsock的问题?
- 又来送分了~关于将treeview加入到listview中的问题
- 逐键提示???!!!
- 在VB里粘贴代码时弹出警告“out of memeroy”,为什么?
- 用vb6dao连接access2000数据库,要求多程序(3)同时访问一个数据库,可行吗?具体如何处理?
- 一个很菜的问题了!!
- VB printer对象打印问题:多行文本的行距!
- VB vs VC?!?!?!?!?!?!?!
- MSflexgrid 如何实现点击标头对整列进行排序?
dim s as integer
dim ret as string
dim str as integer
str=val("&H" & stri)
do while str>0
s= str mod 2
str=str\2
ret=s & ret
loop
stri=ret
end function
Dim N1 As Long, N2 As Long
Dim I As Integer
cBit = ""
N1 = Number
I = 0
N2 = 2 ^ I
While N2 <= N1
If N1 And N2 Then
cBit = "1" & cBit
Else
cBit = "0" & cBit
End If
I = I + 1
N2 = 2 ^ I
Wend
End FunctionPrivate Sub Command1_Click()
MsgBox cBit(&HE2)
MsgBox cBit(&HAD)
End Sub
Dim N1 As Long, N2 As Long
Dim I As Integer
cBit = ""
N1 = Number
I = 0
N2 = 2 ^ I
While N2 <= N1
If N1 And N2 Then
cBit = "1" & cBit
Else
cBit = "0" & cBit
End If
I = I + 1
N2 = 2 ^ I
Wend
End FunctionPrivate Sub Command1_Click()
MsgBox cBit(&HE2)
MsgBox cBit(&HAD)
End Sub
Mask=array("0000","0001","0002",...,"1111") '16个
for i=1 to len(str)
binStr =binStr+Mask(Asc(mid(str,i,1)-Asc("A"))
next i
搞定(我没调试啊,可能有错误)
太麻烦了
直接用位(Bit)比较一下就出来了。
看来阁下的计算机基础不行,是不是半路出家的 :)
人家是输入16禁止的字符串
我刚学编程时也来过这一手(不好意思),不过现在可不干了。
http://www.csdn.net/expert/topic/702/702004.xml?temp=.5143549
http://www.csdn.net/expert/topic/670/670623.xml?temp=.1453516
http://www.csdn.net/expert/topic/669/669329.xml?temp=.7846186
http://www.csdn.net/expert/topic/668/668288.xml?temp=.5115167
http://www.csdn.net/expert/topic/661/661706.xml?temp=.4214899
http://www.csdn.net/expert/topic/658/658476.xml?temp=.3378717
http://www.csdn.net/expert/topic/657/657002.xml?temp=.3998529
http://www.csdn.net/expert/topic/635/635224.xml?temp=.7371942
http://www.csdn.net/expert/topic/631/631897.xml?temp=6.342715E-02
Dim lngIn As Long
Dim strOut As String
Dim i As Long
lngIn = CInt("&H" & strHex)
For i = 0 To Int(Log(lngIn) / Log(2))
If (lngIn And 2 ^ i) = 2 ^ i Then
strOut = "1" & strOut
Else
strOut = "0" & strOut
End If
NextHex2Bin = strOut
End Function
Public Function hb(ByRef stri As String)
dim MASK as Variant
MASK=array("0000","0001","0010"....."1111") '一共16个
for i=1 to len(stri)
ch = mid(stri,i,1)
in = asc(ch)
if in>asc("9") then '偷懒,这里不作语法检查了,而且9的ASCII码也忘了,还假设所有的ABCDE都是大写,如果包括小写就再转一次
in=in-asc("A")
else
in=in-asc("0")
end if
hb= hb & MASK(in)
next i
end function
忘记谁说的了,所有算法里最快的就是查表
昨天的帖子说话不太客气,这里一并道歉。
in = in -asc("A")+10
反正就是看个意思,大家不会太介意吧?
有好多问题可以优化,比如一开始那个Array,我的意思是设一个常量数组,不过VB没有什么好方法(以前READ/DATA的好传统都丢了)。这里也没有语法检查、没有边界检查,不算一个好程序。只是演示一个想法(连算法也谈不上),大家研究研究,何必当真呢:)