16進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制整數(shù)的VC++程序
二進(jìn)制數(shù)據(jù)很少直接用在Visual C++++程序中,因?yàn)镃++通常被視作高級(jí)語(yǔ)言。然而,對(duì)于要在兩類不同設(shè)備間傳輸信息的通信網(wǎng)絡(luò)而言,二進(jìn)制數(shù)或十六進(jìn)制數(shù)的傳輸過(guò)程比十進(jìn)制數(shù)更為簡(jiǎn)單。
本文引用地址:http://m.butianyuan.cn/article/151042.htm在某些應(yīng)用場(chǎng)合,計(jì)算機(jī)用戶接口會(huì)引導(dǎo)用戶通過(guò)鍵盤(pán)輸入十六進(jìn)制數(shù)。但因?yàn)檫@個(gè)十六進(jìn)制數(shù)要被送至嵌入式系統(tǒng),所以離開(kāi)PC之前它必須被轉(zhuǎn)換成真正意義上的數(shù)。此時(shí),用戶輸入的是十六進(jìn)制形式的字符串。然而,Visual C++ 6.0不提供將十六進(jìn)制字符串轉(zhuǎn)換成真正意義的(用0、1表示)十六進(jìn)制或二進(jìn)制數(shù)的轉(zhuǎn)換函數(shù)。
圖中給出了可實(shí)現(xiàn)這種函數(shù)的程序的流程圖。首先,需將輸入的十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)。因?yàn)橐粋€(gè)十六進(jìn)制字符代表4位二進(jìn)制數(shù),所以最好采用 switch case 結(jié)構(gòu)將單個(gè)的十六進(jìn)制字符轉(zhuǎn)換 4位二進(jìn)制數(shù)。函數(shù)convert_hex2bin() 可完成這一轉(zhuǎn)換。
在將整個(gè)十六進(jìn)制字符串轉(zhuǎn)換成二進(jìn)制數(shù)后,接下來(lái)必須將每4位二進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的十進(jìn)制值。函數(shù) convert_sbin2int()返回它的整數(shù)值 。這樣,通過(guò)帶有VC++ IDE的子函數(shù)subfunction atoi(),二進(jìn)制字符串已被轉(zhuǎn)換成十進(jìn)制數(shù)。最后,將所有小的整數(shù)相加得到最終結(jié)果。這一結(jié)果可被送至嵌入式系統(tǒng)或者以十進(jìn)制形式顯示在屏幕上。
c++相關(guān)文章:c++教程
評(píng)論