vb十进制八进制十六进制二进制相互转换大全.docx
《vb十进制八进制十六进制二进制相互转换大全.docx》由会员分享,可在线阅读,更多相关《vb十进制八进制十六进制二进制相互转换大全.docx(11页珍藏版)》请在冰豆网上搜索。
vb十进制八进制十六进制二进制相互转换大全
VB--十进制,八进制,十六进制,二进制相互转换大全
1.用途:
将十进制转化为二进制
'输入:
Dec(十进制数)
'输入数据类型:
Long
'输出:
DEC_to_BIN(二进制数)
'输出数据类型:
String
PublicFunctionDEC_to_BIN(DecAsLong)AsString
DEC_to_BIN=""
DoWhileDec>0
DEC_to_BIN=DecMod2&DEC_to_BIN
Dec=Dec\2
Loop
EndFunction
'2.用途:
将二进制转化为十进制
'输入:
Bin(二进制数)
'输入数据类型:
String
'输出:
BIN_to_DEC(十进制数)
'输出数据类型:
Long
PublicFunctionBIN_to_DEC(ByValBinAsString)AsLong
DimiAsLong
Fori=1ToLen(Bin)
BIN_to_DEC=BIN_to_DEC*2+Val(Mid(Bin,i,1))
Nexti
EndFunction
'3.用途:
将十六进制转化为二进制
'输入:
Hex(十六进制数)
'输入数据类型:
String
'输出:
HEX_to_BIN(二进制数)
'输出数据类型:
String
PublicFunctionHEX_to_BIN(ByValHexAsString)AsString
DimiAsLong
DimBAsString
Hex=UCase(Hex)
Fori=1ToLen(Hex)
SelectCaseMid(Hex,i,1)
Case"0":
B=B&"0000"
Case"1":
B=B&"0001"
Case"2":
B=B&"0010"
Case"3":
B=B&"0011"
Case"4":
B=B&"0100"
Case"5":
B=B&"0101"
Case"6":
B=B&"0110"
Case"7":
B=B&"0111"
Case"8":
B=B&"1000"
Case"9":
B=B&"1001"
Case"A":
B=B&"1010"
Case"B":
B=B&"1011"
Case"C":
B=B&"1100"
Case"D":
B=B&"1101"
Case"E":
B=B&"1110"
Case"F":
B=B&"1111"
EndSelect
Nexti
WhileLeft(B,1)="0"
B=Right(B,Len(B)-1)
Wend
HEX_to_BIN=B
EndFunction
'4.用途:
将二进制转化为十六进制
'输入:
Bin(二进制数)
'输入数据类型:
String
'输出:
BIN_to_HEX(十六进制数)
'输出数据类型:
String
PublicFunctionBIN_to_HEX(ByValBinAsString)AsString
DimiAsLong
DimHAsString
IfLen(Bin)Mod4<>0Then
Bin=String(4-Len(Bin)Mod4,"0")&Bin
EndIf
Fori=1ToLen(Bin)Step4
SelectCaseMid(Bin,i,4)
Case"0000":
H=H&"0"
Case"0001":
H=H&"1"
Case"0010":
H=H&"2"
Case"0011":
H=H&"3"
Case"0100":
H=H&"4"
Case"0101":
H=H&"5"
Case"0110":
H=H&"6"
Case"0111":
H=H&"7"
Case"1000":
H=H&"8"
Case"1001":
H=H&"9"
Case"1010":
H=H&"A"
Case"1011":
H=H&"B"
Case"1100":
H=H&"C"
Case"1101":
H=H&"D"
Case"1110":
H=H&"E"
Case"1111":
H=H&"F"
EndSelect
Nexti
WhileLeft(H,1)="0"
H=Right(H,Len(H)-1)
Wend
BIN_to_HEX=H
EndFunction
'5.用途:
将十六进制转化为十进制
'输入:
Hex(十六进制数)
'输入数据类型:
String
'输出:
HEX_to_DEC(十进制数)
'输出数据类型:
Long
PublicFunctionHEX_to_DEC(ByValHexAsString)AsLong
DimiAsLong
DimBAsLong
Hex=UCase(Hex)
Fori=1ToLen(Hex)
SelectCaseMid(Hex,Len(Hex)-i+1,1)
Case"0":
B=B+16^(i-1)*0
Case"1":
B=B+16^(i-1)*1
Case"2":
B=B+16^(i-1)*2
Case"3":
B=B+16^(i-1)*3
Case"4":
B=B+16^(i-1)*4
Case"5":
B=B+16^(i-1)*5
Case"6":
B=B+16^(i-1)*6
Case"7":
B=B+16^(i-1)*7
Case"8":
B=B+16^(i-1)*8
Case"9":
B=B+16^(i-1)*9
Case"A":
B=B+16^(i-1)*10
Case"B":
B=B+16^(i-1)*11
Case"C":
B=B+16^(i-1)*12
Case"D":
B=B+16^(i-1)*13
Case"E":
B=B+16^(i-1)*14
Case"F":
B=B+16^(i-1)*15
EndSelect
Nexti
HEX_to_DEC=B
EndFunction
'6.用途:
将十进制转化为十六进制
'输入:
Dec(十进制数)
'输入数据类型:
Long
'输出:
DEC_to_HEX(十六进制数)
'输出数据类型:
String
PublicFunctionDEC_to_HEX(DecAsLong)AsString
DimaAsString
DEC_to_HEX=""
DoWhileDec>0
a=CStr(DecMod16)
SelectCasea
Case"10":
a="A"
Case"11":
a="B"
Case"12":
a="C"
Case"13":
a="D"
Case"14":
a="E"
Case"15":
a="F"
EndSelect
DEC_to_HEX=a&DEC_to_HEX
Dec=Dec\16
Loop
EndFunction
'7.用途:
将十进制转化为八进制
'输入:
Dec(十进制数)
'输入数据类型:
Long
'输出:
DEC_to_OCT(八进制数)
'输出数据类型:
String
PublicFunctionDEC_to_OCT(DecAsLong)AsString
DEC_to_OCT=""
DoWhileDec>0
DEC_to_OCT=DecMod8&DEC_to_OCT
Dec=Dec\8
Loop
EndFunction
'8.用途:
将八进制转化为十进制
'输入:
Oct(八进制数)
'输入数据类型:
String
'输出:
OCT_to_DEC(十进制数)
'输出数据类型:
Long
PublicFunctionOCT_to_DEC(ByValOctAsString)AsLong
DimiAsLong
DimBAsLong
Fori=1ToLen(Oct)
SelectCaseMid(Oct,Len(Oct)-i+1,1)
Case"0":
B=B+8^(i-1)*0
Case"1":
B=B+8^(i-1)*1
Case"2":
B=B+8^(i-1)*2
Case"3":
B=B+8^(i-1)*3
Case"4":
B=B+8^(i-1)*4
Case"5":
B=B+8^(i-1)*5
Case"6":
B=B+8^(i-1)*6
Case"7":
B=B+8^(i-1)*7
EndSelect
Nexti
OCT_to_DEC=B
EndFunction
'9.用途:
将二进制转化为八进制
'输入:
Bin(二进制数)
'输入数据类型:
String
'输出:
BIN_to_OCT(八进制数)
'输出数据类型:
String
PublicFunctionBIN_to_OCT(ByValBinAsString)AsString
DimiAsLong
DimHAsString
IfLen(Bin)Mod3<>0Then
Bin=String(3-Len(Bin)Mod3,"0")&Bin
EndIf
Fori=1ToLen(Bin)Step3
SelectCaseMid(Bin,i,3)
Case"000":
H=H&"0"
Case"001":
H=H&"1"
Case"010":
H=H&"2"
Case"011":
H=H&"3"
Case"100":
H=H&"4"
Case"101":
H=H&"5"
Case"110":
H=H&"6"
Case"111":
H=H&"7"
EndSelect
Nexti
WhileLeft(H,1)="0"
H=Right(H,Len(H)-1)
Wend
BIN_to_OCT=H
EndFunction
'10.用途:
将八进制转化为二进制
'输入:
Oct(八进制数)
'输入数据类型:
String
'输出:
OCT_to_BIN(二进制数)
'输出数据类型:
String
PublicFunctionOCT_to_BIN(ByValOctAsString)AsString
DimiAsLong
DimBAsString
Fori=1ToLen(Oct)
SelectCaseMid(Oct,i,1)
Case"0":
B=B&"000"
Case"1":
B=B&"001"
Case"2":
B=B&"010"
Case"3":
B=B&"011"
Case"4":
B=B&"100"
Case"5":
B=B&"101"
Case"6":
B=B&"110"
Case"7":
B=B&"111"
EndSelect
Nexti
WhileLeft(B,1)="0"
B=Right(B,Len(B)-1)
Wend
OCT_to_BIN=B
EndFunction
'11.用途:
将八进制转化为十六进制
'输入:
Oct(八进制数)
'输入数据类型:
String
'输出:
OCT_to_HEX(十六进制数)
'输出数据类型:
String
PublicFunctionOCT_to_HEX(ByValOctAsString)AsString
DimBinAsString
Bin=OCT_to_BIN(Oct)
OCT_to_HEX=BIN_to_HEX(Bin)
EndFunction
'12.用途:
将十六进制转化为八进制
'输入:
Hex(十六进制数)
'输入数据类型:
String
'输出:
HEX_to_OCT(八进制数)
'输出数据类型:
String
PublicFunctionHEX_to_OCT(ByValHexAsString)AsString
DimBinAsString
Hex=UCase(Hex)
Bin=HEX_to_BIN(Hex)
HEX_to_OCT=BIN_to_OCT(Bin)
EndFunction
VB自带函数:
十进制转八进制:
Oct(num)
十六进制转八进制:
oct("&H"&num)
十进制转十六进制:
hex(num)
八进制转十六进制:
hex("&O"&num)
十六进制转换为十进制
DimstrAsString
str=Text2.Text
Text10.Text=CLng("&H"&str)