资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net中hex()的简单介绍

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

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

网站设计制作、成都网站制作中从网站色彩、结构布局、栏目设置、关键词群组等细微处着手,突出企业的产品/服务/品牌,帮助企业锁定精准用户,提高在线咨询和转化,使成都网站营销成为有效果、有回报的无锡营销推广。创新互联建站专业成都网站建设十年了,客户满意度97.8%,欢迎成都创新互联客户联系。

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中16进制与10进制相互转化,该怎么处理

10进制转16进制的话可以使用HEX()函数,16进制转10进制没有现成函数,可以使用如下代码实现:

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

' 输入: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

扩展资料:

在VB中将十进制转化为十六进制的函数:

输入:Dec(十进制数)'

输入数据类型:Long'

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

输出数据类型:String'

输入的最大数为2147483647,

输出最大数为7FFFFFFFPublicFunction D2H(Dec As Long) As String

Dim a As String

D2H = ""

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

D2H = a D2H

Dec = Dec \ 16     LoopEnd Function

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的中HEX函数

汉字“人”的asc码是一个大于32767的值,所以用integer返回就是一个负数:-14133

C8CB是一个十六进制的补码,补码的意思就是高字节如果为1,那么就是负数。

根据integer的范围:-14133,其实对应的是 -14133 + 65536 = 51403 = C8CB,正好就是那个hex返回的数值,所以,这两个值是一样的。

如果不理解,看看补码的概念吧,是二进制上的一个概念。

Asc 函数

返回一个 Integer,代表字符串中首字母的字符代码。

语法

Asc(string)

必要的 string 参数可以是任何有效的字符串表达式。如果 string 中没有包含任何字符,则会产生运行时错误。

说明

在非 DBCS 系统下,返回值范围为 0 – 255 。在 DBCS 系统下,则为 -32768 – 32767。

注意 AscB 函数作用于包含在字符串中的字节数据,AscB 返回第一个字节的字符代码,而非字符的字符代码。AscW 函数返回 Unicode 字符代码,若平台不支持 Unicode,则与 Asc 函数功能相同。

-----------------------------------------------

Hex 函数

返回代表十六进制数值的 String。

语法

Hex(number)

必要的 number 参数为任何有效的数值表达式或字符串表达式。

说明

如果 number 还不是一个整数,那么在执行前会先被四舍五入成最接近的整数。

如果 number 为 所得为

Null Null

Empty 零 (0)

任何其他的数字 最多可到八个十六进制字符。

适当范围内的数字,前缀以 H,可以直接表示十六进制数字。例如,十六进制表示法的 H10 代表十进制的 16。


当前标题:vb.net中hex()的简单介绍
链接地址:http://cdkjz.cn/article/doehcig.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220