新聞中心

EEPW首頁 > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 介紹“十六進(jìn)制數(shù)字符串至數(shù)值轉(zhuǎn)換”函數(shù)

介紹“十六進(jìn)制數(shù)字符串至數(shù)值轉(zhuǎn)換”函數(shù)

作者: 時(shí)間:2017-01-06 來源:網(wǎng)絡(luò) 收藏
該節(jié)點(diǎn)位于函數(shù)/字符串/“字符串/數(shù)值轉(zhuǎn)換”下,功能是把輸入的字符串(ASCII)通過十六進(jìn)制數(shù)字再轉(zhuǎn)換成數(shù)值(10進(jìn)制)。

有幾點(diǎn)需要注意:

本文引用地址:http://m.butianyuan.cn/article/201701/337016.htm

1:雖然該函數(shù)的輸入端子“string”的值可以是十六進(jìn)制數(shù)、字符串(ASCII)或其他進(jìn)制數(shù),但是“string”的值流入該函數(shù)中時(shí),先轉(zhuǎn)換成字符串(ASCII)。例如,當(dāng)“string”(Hex display)值為62,因此,流入函數(shù)時(shí),該值轉(zhuǎn)為b(ASCII),但是,如果“string”流入該函數(shù)前就是字符串(ASCII),比如直接流入a,則上述的轉(zhuǎn)換過程就可以避免。

2:在函數(shù)中,字符串(ASCII)被當(dāng)成十六進(jìn)制處理,最后輸出的數(shù)值就是這個(gè)十六進(jìn)制數(shù)對(duì)應(yīng)的十進(jìn)制數(shù)。例如字符串(ASCII)為a,由ASCII編碼表可知十六進(jìn)制“a”對(duì)應(yīng)的十進(jìn)制是10,所以通過這個(gè)轉(zhuǎn)換函數(shù)后,最后得到的數(shù)值為10。如果字符串(ASCII)為aa,被當(dāng)成十六進(jìn)制數(shù)(對(duì)應(yīng)的二進(jìn)制為10101010)處理再進(jìn)行十進(jìn)制換算,最后得到的數(shù)值為170。

如圖1所示,當(dāng)輸入端子“string”(Normal display)的值為f3g(g是一個(gè)無效值,因此f3g相當(dāng)f3)時(shí),作為十六進(jìn)制數(shù),其二進(jìn)制剛好是11110011,換算成10進(jìn)制輸出就是243(10進(jìn)制)。

3:字符串(ASCII)的每個(gè)字符都在為0~9,A~F,a~f范圍內(nèi),如果超出這個(gè)范圍,就是一個(gè)無效值,最后返回的數(shù)值是0(見圖1)。

圖1

4:如果該函數(shù)輸入端子“string”接的是一個(gè)十六進(jìn)制字符串,那么這個(gè)十六進(jìn)制字符串先轉(zhuǎn)換成字符串(ASCII),然后作為十六進(jìn)制數(shù),之后轉(zhuǎn)換為相應(yīng)的十進(jìn)制數(shù)輸出,圖2為例子說明。

圖2實(shí)例說明

結(jié)論:

最好讓輸入端子“string”接一個(gè)字符串(ASCII),這樣可以省去一個(gè)其他進(jìn)制數(shù)再往字符串(ASCII)轉(zhuǎn)換過程。



評(píng)論


技術(shù)專區(qū)

關(guān)閉