vbnet进制转换器 vb进制转换函数

vb.net 把十进制数转成十六进制数的函数有哪些?

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

创新互联是一家集网站建设,金昌企业网站建设,金昌品牌网站建设,网站定制,金昌网站建设报价,网络营销,网络优化,金昌网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

MsgBox(DEC_to_HEX(255))

End Sub

Public Function DEC_to_HEX(ByVal Dec As Long) As String

Dim a As String

DEC_to_HEX = ""

Do While Dec  0

a = CStr(Dec Mod 16)

Select Case 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"

End Select

DEC_to_HEX = a  DEC_to_HEX

Dec = Dec \ 16

Loop

End Function

vb.net 字符串,16进制间转换(求代码)

把字符串“12341168C5B7”转换为16进制数存为string型

用shuzi=Convert.ToInt32("12341168C5B7",16)

就ok了。

反之用 shuzi.ToString("X")就行了。

给分!!!

12341168C5B7转换成10进制数就是20014839678391。。

而int32的最大值为2,147,483,647。。所以产生错误。

所以要用int64,它的最大值为9,223,372,036,854,775,807。也就是16位十六进制数0X7FFFFFFFFFFFFFFF。

难道还有比F靠后的数??????

VB.NET,八/十六进制转十进制的函数,怎么转?

'此函数用于十进制到二进制

Private Function Bin(Number As Long) As Long

Dim Div_value As String

Do

Div_value = (Number Mod 2) Div_value

Number = Int(Number / 2)

Loop Until Number 2

Bin = Number Div_value

End Function

'此函数用于二进制到十进制

Private Function value_Bin(Number As Long) As Long

Dim Temp_value As Long, Cyc As Long

For Cyc = 0 To Len(Str(Number))

If Cyc = Len(Str(Number)) Then

value_Bin = Temp_value + Val(Mid(Str(Number), Cyc, 1))

Exit For

End If

If Cyc 0 Then Temp_value = (Temp_value + Val(Mid(Str(Number), Cyc, 1))) * 2

Next Cyc

End Function

'====写入以上函数后转值操作:

'十进制到十六进制:Hex(十进制数值)

'十进制到八进制:Oct(十进制数值)

'十进制到二进制:Bin(十进制数值)

'二进制到十进制:value_Bin(二进制数值)

'八进制到十进制:Val("O" 八进制数值)

'十六进制到十进制:Val("H" 十六进制数值)

比如

msgbox DEC_to_BIN(10)

就会返回一个10转换为十进制后的结果

或者简单点就用

VB自带函数:

十进制转八进制:Oct(num)

十六进制转八进制:oct("H" num)

十进制转十六进制:hex(num)

八进制转十六进制:hex("O" num)

十六进制转换为十进制

Dim str As String

str = Text2.Text

Text10.Text = CLng("H" str)

vb.net 如何将十六进制字符串转换为十六进制变量

numHex =Integer.Parse(strHex, Globalization.NumberStyles.AllowHexSpecifier)

numHex = Integer. Parse("H" strHex)

VB编写进制的转换!

你不用理解的 只要将要转换的参数传入就可以的了

比如

msgbox DEC_to_BIN(10)

就会返回一个10转换为十进制后的结果

或者简单点就用

VB自带函数:

十进制转八进制:Oct(num)

十六进制转八进制:oct("H" num)

十进制转十六进制:hex(num)

八进制转十六进制:hex("O" num)

十六进制转换为十进制

Dim str As String

str = Text2.Text

Text10.Text = CLng("H" str)

===========================================

' 用途:将十进制转化为二进制

' 输入:Dec(十进制数)

' 输入数据类型:Long

' 输出:DEC_to_BIN(二进制数)

' 输出数据类型:String

' 输入的最大数为2147483647,输出最大数为1111111111111111111111111111111(31个1)

Public Function DEC_to_BIN(Dec As Long) As String

DEC_to_BIN = ""

Do While Dec 0

DEC_to_BIN = Dec Mod 2 DEC_to_BIN

Dec = Dec \ 2

Loop

End Function

' 用途:将二进制转化为十进制

' 输入:Bin(二进制数)

' 输入数据类型:String

' 输出:BIN_to_DEC(十进制数)

' 输出数据类型:Long

' 输入的最大数为1111111111111111111111111111111(31个1),输出最大数为2147483647

Public Function BIN_to_DEC(ByVal Bin As String) As Long

Dim i As Long

For i = 1 To Len(Bin)

BIN_to_DEC = BIN_to_DEC * 2 + Val(Mid(Bin, i, 1))

Next i

End Function

' 用途:将十六进制转化为二进制

' 输入:Hex(十六进制数)

' 输入数据类型:String

' 输出:HEX_to_BIN(二进制数)

' 输出数据类型:String

' 输入的最大数为2147483647个字符

Public Function HEX_to_BIN(ByVal Hex As String) As String

Dim i As Long

Dim B As String

Hex = UCase(Hex)

For i = 1 To Len(Hex)

Select Case Mid(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"

End Select

Next i

While Left(B, 1) = "0"

B = Right(B, Len(B) - 1)

Wend

HEX_to_BIN = B

End Function

' 用途:将二进制转化为十六进制

' 输入:Bin(二进制数)

' 输入数据类型:String

' 输出:BIN_to_HEX(十六进制数)

' 输出数据类型:String

' 输入的最大数为2147483647个字符

Public Function BIN_to_HEX(ByVal Bin As String) As String

Dim i As Long

Dim H As String

If Len(Bin) Mod 4 0 Then

Bin = String(4 - Len(Bin) Mod 4, "0") Bin

End If

For i = 1 To Len(Bin) Step 4

Select Case Mid(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"

End Select

Next i

While Left(H, 1) = "0"

H = Right(H, Len(H) - 1)

Wend

BIN_to_HEX = H

End Function

' 用途:将十六进制转化为十进制

' 输入:Hex(十六进制数)

' 输入数据类型:String

' 输出:HEX_to_DEC(十进制数)

' 输出数据类型:Long

' 输入的最大数为7FFFFFFF,输出的最大数为2147483647

Public Function HEX_to_DEC(ByVal Hex As String) As Long

Dim i As Long

Dim B As Long

Hex = UCase(Hex)

For i = 1 To Len(Hex)

Select Case Mid(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

End Select

Next i

HEX_to_DEC = B

End Function

' 用途:将十进制转化为十六进制

' 输入:Dec(十进制数)

' 输入数据类型:Long

' 输出:DEC_to_HEX(十六进制数)

' 输出数据类型:String

' 输入的最大数为2147483647,输出最大数为7FFFFFFF

Public Function DEC_to_HEX(Dec As Long) As String

Dim a As String

DEC_to_HEX = ""

Do While Dec 0

a = CStr(Dec Mod 16)

Select Case 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"

End Select

DEC_to_HEX = a DEC_to_HEX

Dec = Dec \ 16

Loop

End Function

' 用途:将十进制转化为八进制

' 输入:Dec(十进制数)

' 输入数据类型:Long

' 输出:DEC_to_OCT(八进制数)

' 输出数据类型:String

' 输入的最大数为2147483647,输出最大数为17777777777

Public Function DEC_to_OCT(Dec As Long) As String

DEC_to_OCT = ""

Do While Dec 0

DEC_to_OCT = Dec Mod 8 DEC_to_OCT

Dec = Dec \ 8

Loop

End Function

' 用途:将八进制转化为十进制

' 输入:Oct(八进制数)

' 输入数据类型:String

' 输出:OCT_to_DEC(十进制数)

' 输出数据类型:Long

' 输入的最大数为17777777777,输出的最大数为2147483647

Public Function OCT_to_DEC(ByVal Oct As String) As Long

Dim i As Long

Dim B As Long

For i = 1 To Len(Oct)

Select Case Mid(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

End Select

Next i

OCT_to_DEC = B

End Function

' 用途:将二进制转化为八进制

' 输入:Bin(二进制数)

' 输入数据类型:String

' 输出:BIN_to_OCT(八进制数)

' 输出数据类型:String

' 输入的最大数为2147483647个字符

Public Function BIN_to_OCT(ByVal Bin As String) As String

Dim i As Long

Dim H As String

If Len(Bin) Mod 3 0 Then

Bin = String(3 - Len(Bin) Mod 3, "0") Bin

End If

For i = 1 To Len(Bin) Step 3

Select Case Mid(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"

End Select

Next i

While Left(H, 1) = "0"

H = Right(H, Len(H) - 1)

Wend

BIN_to_OCT = H

End Function

' 用途:将八进制转化为二进制

' 输入:Oct(八进制数)

' 输入数据类型:String

' 输出:OCT_to_BIN(二进制数)

' 输出数据类型:String

' 输入的最大数为2147483647个字符

Public Function OCT_to_BIN(ByVal Oct As String) As String

Dim i As Long

Dim B As String

For i = 1 To Len(Oct)

Select Case Mid(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"

End Select

Next i

While Left(B, 1) = "0"

B = Right(B, Len(B) - 1)

Wend

OCT_to_BIN = B

End Function

' 用途:将八进制转化为十六进制

' 输入:Oct(八进制数)

' 输入数据类型:String

' 输出:OCT_to_HEX(十六进制数)

' 输出数据类型:String

' 输入的最大数为2147483647个字符

Public Function OCT_to_HEX(ByVal Oct As String) As String

Dim Bin As String

Bin = OCT_to_BIN(Oct)

OCT_to_HEX = BIN_to_HEX(Bin)

End Function

' 用途:将十六进制转化为八进制

' 输入:Hex(十六进制数)

' 输入数据类型:String

' 输出:HEX_to_OCT(八进制数)

' 输出数据类型:String

' 输入的最大数为2147483647个字符

Public Function HEX_to_OCT(ByVal Hex As String) As String

Dim Bin As String

Hex = UCase(Hex)

Bin = HEX_to_BIN(Hex)

HEX_to_OCT = BIN_to_OCT(Bin)

End Function


本文名称:vbnet进制转换器 vb进制转换函数
文章起源:http://azwzsj.com/article/doddipc.html