新聞中心

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

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

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

有幾點需要注意:

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

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

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

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

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

圖1

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

圖2實例說明

結(jié)論:

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



評論


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

關(guān)閉