Private?Sub?Form1_Load(ByVal?sender?As?System.Object,?ByVal?e?As?System.EventArgs)?Handles?MyBase.Load
在網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作中從網(wǎng)站色彩、結(jié)構(gòu)布局、欄目設(shè)置、關(guān)鍵詞群組等細(xì)微處著手,突出企業(yè)的產(chǎn)品/服務(wù)/品牌,幫助企業(yè)鎖定精準(zhǔn)用戶,提高在線咨詢和轉(zhuǎn)化,使成都網(wǎng)站營(yíng)銷成為有效果、有回報(bào)的無(wú)錫營(yíng)銷推廣。創(chuàng)新互聯(lián)建站專業(yè)成都網(wǎng)站建設(shè)十年了,客戶滿意度97.8%,歡迎成都創(chuàng)新互聯(lián)客戶聯(lián)系。
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
10進(jìn)制轉(zhuǎn)16進(jìn)制的話可以使用HEX()函數(shù),16進(jìn)制轉(zhuǎn)10進(jìn)制沒(méi)有現(xiàn)成函數(shù),可以使用如下代碼實(shí)現(xiàn):
'?用途:將十六進(jìn)制轉(zhuǎn)化為十進(jìn)制
'?輸入:Hex(十六進(jìn)制數(shù))
'?輸入數(shù)據(jù)類型:String
'?輸出:HEX_to_DEC(十進(jìn)制數(shù))
'?輸出數(shù)據(jù)類型:Long
'?輸入的最大數(shù)為7FFFFFFF,輸出的最大數(shù)為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
擴(kuò)展資料:
在VB中將十進(jìn)制轉(zhuǎn)化為十六進(jìn)制的函數(shù):
輸入:Dec(十進(jìn)制數(shù))'
輸入數(shù)據(jù)類型:Long'
輸出:D2H(十六進(jìn)制數(shù))'
輸出數(shù)據(jù)類型:String'
輸入的最大數(shù)為2147483647,
輸出最大數(shù)為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
'此函數(shù)用于十進(jìn)制到二進(jìn)制
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
'此函數(shù)用于二進(jìn)制到十進(jìn)制
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
'====寫(xiě)入以上函數(shù)后轉(zhuǎn)值操作:
'十進(jìn)制到十六進(jìn)制:Hex(十進(jìn)制數(shù)值)
'十進(jìn)制到八進(jìn)制:Oct(十進(jìn)制數(shù)值)
'十進(jìn)制到二進(jìn)制:Bin(十進(jìn)制數(shù)值)
'二進(jìn)制到十進(jìn)制:value_Bin(二進(jìn)制數(shù)值)
'八進(jìn)制到十進(jìn)制:Val("O" 八進(jìn)制數(shù)值)
'十六進(jìn)制到十進(jìn)制:Val("H" 十六進(jìn)制數(shù)值)
比如
msgbox DEC_to_BIN(10)
就會(huì)返回一個(gè)10轉(zhuǎn)換為十進(jìn)制后的結(jié)果
或者簡(jiǎn)單點(diǎn)就用
VB自帶函數(shù):
十進(jìn)制轉(zhuǎn)八進(jìn)制:Oct(num)
十六進(jìn)制轉(zhuǎn)八進(jìn)制:oct("H" num)
十進(jìn)制轉(zhuǎn)十六進(jìn)制:hex(num)
八進(jìn)制轉(zhuǎn)十六進(jìn)制:hex("O" num)
十六進(jìn)制轉(zhuǎn)換為十進(jìn)制
Dim str As String
str = Text2.Text
Text10.Text = CLng("H" str)
漢字“人”的asc碼是一個(gè)大于32767的值,所以用integer返回就是一個(gè)負(fù)數(shù):-14133
C8CB是一個(gè)十六進(jìn)制的補(bǔ)碼,補(bǔ)碼的意思就是高字節(jié)如果為1,那么就是負(fù)數(shù)。
根據(jù)integer的范圍:-14133,其實(shí)對(duì)應(yīng)的是 -14133 + 65536 = 51403 = C8CB,正好就是那個(gè)hex返回的數(shù)值,所以,這兩個(gè)值是一樣的。
如果不理解,看看補(bǔ)碼的概念吧,是二進(jìn)制上的一個(gè)概念。
Asc 函數(shù)
返回一個(gè) Integer,代表字符串中首字母的字符代碼。
語(yǔ)法
Asc(string)
必要的 string 參數(shù)可以是任何有效的字符串表達(dá)式。如果 string 中沒(méi)有包含任何字符,則會(huì)產(chǎn)生運(yùn)行時(shí)錯(cuò)誤。
說(shuō)明
在非 DBCS 系統(tǒng)下,返回值范圍為 0 – 255 。在 DBCS 系統(tǒng)下,則為 -32768 – 32767。
注意 AscB 函數(shù)作用于包含在字符串中的字節(jié)數(shù)據(jù),AscB 返回第一個(gè)字節(jié)的字符代碼,而非字符的字符代碼。AscW 函數(shù)返回 Unicode 字符代碼,若平臺(tái)不支持 Unicode,則與 Asc 函數(shù)功能相同。
-----------------------------------------------
Hex 函數(shù)
返回代表十六進(jìn)制數(shù)值的 String。
語(yǔ)法
Hex(number)
必要的 number 參數(shù)為任何有效的數(shù)值表達(dá)式或字符串表達(dá)式。
說(shuō)明
如果 number 還不是一個(gè)整數(shù),那么在執(zhí)行前會(huì)先被四舍五入成最接近的整數(shù)。
如果 number 為 所得為
Null Null
Empty 零 (0)
任何其他的數(shù)字 最多可到八個(gè)十六進(jìn)制字符。
適當(dāng)范圍內(nèi)的數(shù)字,前綴以 H,可以直接表示十六進(jìn)制數(shù)字。例如,十六進(jìn)制表示法的 H10 代表十進(jìn)制的 16。