' 用途:将十进制转化为二进制 ' 输入:Dec(十进制数) ' 输入数据类型:Long ' 输出:DEC_to_BIN(二进制数) ' 输出数据类型:String ' 输入的最大数为2147483647,输出最大数为1111111111111111111111111111111(31个1) PublicFunction DEC_to_BIN(Dec AsLong) AsString DEC_to_BIN ="" DoWhile Dec >0 DEC_to_BIN = Dec Mod2& DEC_to_BIN Dec = Dec 2 Loop End Function ' 用途:将二进制转化为十进制 ' 输入:Bin(二进制数) ' 输入数据类型:String ' 输出:BIN_to_DEC(十进制数) ' 输出数据类型:Long ' 输入的最大数为1111111111111111111111111111111(31个1),输出最大数为2147483647 PublicFunction BIN_to_DEC(ByVal Bin AsString) AsLong Dim i AsLong For i =1ToLen(Bin) BIN_to_DEC = BIN_to_DEC *2+ Val(Mid(Bin, i, 1)) Next i End Function ' 用途:将十六进制转化为二进制 ' 输入:Hex(十六进制数) ' 输入数据类型:String ' 输出:HEX_to_BIN(二进制数) ' 输出数据类型:String ' 输入的最大数为2147483647个字符 PublicFunction HEX_to_BIN(ByVal HexAsString) AsString Dim i AsLong Dim B AsString Hex=UCase(Hex) For i =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 Next i WhileLeft(B, 1) ="0" B =Right(B, Len(B) -1) Wend HEX_to_BIN = B End Function ' 用途:将二进制转化为十六进制 ' 输入:Bin(二进制数) ' 输入数据类型:String ' 输出:BIN_to_HEX(十六进制数) ' 输出数据类型:String ' 输入的最大数为2147483647个字符 PublicFunction BIN_to_HEX(ByVal Bin AsString) AsString Dim i AsLong Dim H AsString IfLen(Bin) Mod4<>0Then Bin =String(4-Len(Bin) Mod4, "0") & Bin EndIf For i =1ToLen(Bin) Step 4 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 Next i WhileLeft(H, 1) ="0" H =Right(H, Len(H) -1) Wend BIN_to_HEX = H End Function ' 用途:将十六进制转化为十进制 ' 输入:Hex(十六进制数) ' 输入数据类型:String ' 输出:HEX_to_DEC(十进制数) ' 输出数据类型:Long ' 输入的最大数为7FFFFFFF,输出的最大数为2147483647 PublicFunction HEX_to_DEC(ByVal HexAsString) AsLong Dim i AsLong Dim B AsLong Hex=UCase(Hex) For i =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 Next i HEX_to_DEC = B End Function ' 用途:将十进制转化为十六进制 ' 输入:Dec(十进制数) ' 输入数据类型:Long ' 输出:DEC_to_HEX(十六进制数) ' 输出数据类型:String ' 输入的最大数为2147483647,输出最大数为7FFFFFFF PublicFunction DEC_to_HEX(Dec AsLong) AsString Dim a AsString DEC_to_HEX ="" DoWhile Dec >0 a =CStr(Dec Mod16) SelectCase a 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 End Function ' 用途:将十进制转化为八进制 ' 输入:Dec(十进制数) ' 输入数据类型:Long ' 输出:DEC_to_OCT(八进制数) ' 输出数据类型:String ' 输入的最大数为2147483647,输出最大数为17777777777 PublicFunction DEC_to_OCT(Dec AsLong) AsString DEC_to_OCT ="" DoWhile Dec >0 DEC_to_OCT = Dec Mod8& DEC_to_OCT Dec = Dec 8 Loop End Function ' 用途:将八进制转化为十进制 ' 输入:Oct(八进制数) ' 输入数据类型:String ' 输出:OCT_to_DEC(十进制数) ' 输出数据类型:Long ' 输入的最大数为17777777777,输出的最大数为2147483647 PublicFunction OCT_to_DEC(ByVal OctAsString) AsLong Dim i AsLong Dim B AsLong For i =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 Next i OCT_to_DEC = B End Function ' 用途:将二进制转化为八进制 ' 输入:Bin(二进制数) ' 输入数据类型:String ' 输出:BIN_to_OCT(八进制数) ' 输出数据类型:String ' 输入的最大数为2147483647个字符 PublicFunction BIN_to_OCT(ByVal Bin AsString) AsString Dim i AsLong Dim H AsString IfLen(Bin) Mod3<>0Then Bin =String(3-Len(Bin) Mod3, "0") & Bin EndIf For i =1ToLen(Bin) Step 3 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 Next i WhileLeft(H, 1) ="0" H =Right(H, Len(H) -1) Wend BIN_to_OCT = H End Function ' 用途:将八进制转化为二进制 ' 输入:Oct(八进制数) ' 输入数据类型:String ' 输出:OCT_to_BIN(二进制数) ' 输出数据类型:String ' 输入的最大数为2147483647个字符 PublicFunction OCT_to_BIN(ByVal OctAsString) AsString Dim i AsLong Dim B AsString For i =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 Next i WhileLeft(B, 1) ="0" B =Right(B, Len(B) -1) Wend OCT_to_BIN = B End Function ' 用途:将八进制转化为十六进制 ' 输入:Oct(八进制数) ' 输入数据类型:String ' 输出:OCT_to_HEX(十六进制数) ' 输出数据类型:String ' 输入的最大数为2147483647个字符 PublicFunction OCT_to_HEX(ByVal OctAsString) AsString Dim Bin AsString Bin = OCT_to_BIN(Oct) OCT_to_HEX = BIN_to_HEX(Bin) End Function ' 用途:将十六进制转化为八进制 ' 输入:Hex(十六进制数) ' 输入数据类型:String ' 输出:HEX_to_OCT(八进制数) ' 输出数据类型:String ' 输入的最大数为2147483647个字符 PublicFunction HEX_to_OCT(ByVal HexAsString) AsString Dim Bin AsString Hex=UCase(Hex) Bin = HEX_to_BIN(Hex) HEX_to_OCT = BIN_to_OCT(Bin) End Function VB自带函数: 十进制转八进制:Oct(num) 十六进制转八进制:oct("&H"& num) 十进制转十六进制:hex(num) 八进制转十六进制:hex("&O"& num)