如题:
怎么把十进制数转化为十六进制数???有函数吗?
怎么把十进制数转化为十六进制数???有函数吗?
解决方案 »
- 正则表达式能不能在for里边用for?
- MACROMEDIA公司的SHOCKWAVEFLASH控件
- vb 多行文本框问题
- 我看过一些软件,发现其中有些企业单证打印时可以给你浏览,而且你可以在上面修改内容.这类程序他的思路是??
- 数据集的问题请帮忙解决,谢了
- "多步操作产生错误。请检查每一步的状态值" 好不容易写好的东西出了这个问题!
- 在vb里面怎样检测是否win98的鼠标左右被替换了?也就是左手习惯使用鼠标?(
- vb中怎样编三层的应用程序?要用哪些控件?
- 如何画多系列mschart二维散点图
- VB 提交数据包 INET 带 COOKIES
- 百思不得其解~~~求助各位大虾了
- 为何inputbox输入汉字的时候输入的是乱码?
MyHex = Hex(5) ' Returns 5.
MyHex = Hex(10) ' Returns A.
MyHex = Hex(459) ' Returns 1CB.Hex()
Null Null
Empty 零 (0)
任何其他的数字 最多可到八个十六进制字符。
适当范围内的数字,前缀以 &H,可以直接表示十六进制数字。例如,十六进制表示法的 &H10 代表十进制的 16。================================================================本示例使用 Hex 函数来得到某数值的 16 进制值。Dim MyHex
MyHex = Hex(5) ' 返回 5。
MyHex = Hex(10) ' 返回 A。
MyHex = Hex(459) ' 返回 1CB。
Dim t As Integer
Dim str4 As StringPrivate Function NumToOct(ByVal Octint As Long) As String
Dim Octmod As Long
Dim OctStr As String
If Octint = 0 Then
NumToOct = "0"
Else
Do While Octint > 0
Octmod = Octint Mod 8
Octint = Octint \ 8
OctStr = Str(Octmod) & OctStr
Loop
NumToOct = OctStr
End If
End Function
Private Function NumToBinary(ByVal inte As Long) As String
Dim Amod As Long
Dim Str1 As String
If inte = 0 Then
NumToBinary = "0"
Else
Do While inte > 0
Amod = inte Mod 2
inte = inte \ 2
Str1 = Str(Amod) & Str1
Loop
NumToBinary = Str1
End If
End Function
Private Function NumToHex(ByVal Hexint As Long) As String
Dim HexMod As Long
Dim HexStr As String
If Hexint = 0 Then
NumToHex = "0"
Else
Do While Hexint > 0
HexMod = Hexint Mod 16
Hexint = Hexint \ 16
Select Case HexMod
Case 10
HexStr = "A" & HexStr
Case 11
HexStr = "B" & HexStr
Case 12
HexStr = "C" & HexStr
Case 13
HexStr = "D" & HexStr
Case 14
HexStr = "E" & HexStr
Case 15
HexStr = "F" & HexStr
Case Else
HexStr = Str(HexMod) & HexStr
End Select
Loop
NumToHex = HexStr
End If
End Function
Private Sub Command1_Click()
st = NumToOct(Text1.Text)
st1 = NumToBinary(Text1.Text)
st2 = NumToHex(Text1.Text)
Text2.Text = st1
Text3.Text = st
Text4.Text = st2
End SubPrivate Sub Form_Load()
t = 1
TextStr = "十進位轉換二,八,十六進位,目前僅支援正整數部份"End SubPrivate Sub Timer1_Timer()
Dim str3 As Stringstr3 = Mid(TextStr, t, 1)
str4 = str4 & str3
t = t + 1
Label4.Caption = str4
If t = Len(TextStr) Then
t = 1
str4 = ""
End If
End Sub
b="02"
c=hex(val("&h" & a)+val("&h" & b))
if c<>"AC" then msgbox "奇怪,系统有问题"
hex val(sex)
我用了你的函数,可是结果不对呀,比如我的十进制数17,转化为十六进制数应该为23,可是你的函数的结果为21,真的,我测试的
a="aa"
b="02"
c=hex(val("&h" & a)+val("&h" & b))
if c<>"AC" then msgbox "奇怪,系统有问题"
已经很详细了啊
MSDN中例子,如:
Dim MyHex as string 'MSDN总不喜欢说明数据类型...
MyHex = Hex(5) ' 返回 5。
MyHex = Hex(10) ' 返回 A。
MyHex = Hex(459) ' 返回 1CB。16转10就更简单了!
dim lngHex as long
lngHex = &H1CB '只需要在16进制数的前面加上 "&H"就可以了~
msgbox lngHex '显示结果是 459
例如
long i = 0x17
msgbox i
显示出来就是23