把字符串“12341168C5B7”轉(zhuǎn)換為16進(jìn)制數(shù)存為string型
玉田網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,玉田網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為玉田成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的玉田做網(wǎng)站的公司定做!
用shuzi=Convert.ToInt32("12341168C5B7",16)
就ok了。
反之用 shuzi.ToString("X")就行了。
給分!?。?/p>
12341168C5B7轉(zhuǎn)換成10進(jìn)制數(shù)就是20014839678391。。
而int32的最大值為2,147,483,647。。所以產(chǎn)生錯(cuò)誤。
所以要用int64,它的最大值為9,223,372,036,854,775,807。也就是16位十六進(jìn)制數(shù)0X7FFFFFFFFFFFFFFF。
難道還有比F靠后的數(shù)??????
把字符串“12341168C5B7”轉(zhuǎn)換為16進(jìn)制數(shù)存為string型
用shuzi=Convert.ToInt32("12341168C5B7",16)
就ok了。
反之用 shuzi.ToString("X")就行了。
給分?。?!
12341168C5B7轉(zhuǎn)換成10進(jìn)制數(shù)就是20014839678391。。
而int32的最大值為2,147,483,647。。所以產(chǎn)生錯(cuò)誤。
所以要用int64,它的最大值為9,223,372,036,854,775,807。也就是16位十六進(jìn)制數(shù)0X7FFFFFFFFFFFFFFF。
難道還有比F靠后的數(shù)??????
在內(nèi)存中沒有所謂得16進(jìn)制或者其他進(jìn)制,數(shù)就是數(shù),什么進(jìn)制是人自己理解的,而不是計(jì)算機(jī)。你所謂的16進(jìn)制大概時(shí)你輸入的字符序列,你自己需要把這個(gè)字符序列轉(zhuǎn)換為數(shù)。
也許你要的是
Dim hex As Integer = H50 '這種定義
下面代碼就是將文本框中以一個(gè)空格隔開的十六進(jìn)制轉(zhuǎn)為字節(jié)的代碼,文本框中數(shù)字格式為:01 02 03
Dim TestArray() As String = Split(TextBox1.Text)
Dim hexBytes() As Byte
ReDim hexBytes(TestArray.Length - 1)
Dim i As Integer
For i = 0 To TestArray.Length - 1
hexBytes(i) = Val("h" TestArray(i))
Next
SerialPort.Write(hexBytes, 0, hexBytes.Length)