二進(jìn)制數(shù)據(jù)很少直接用在Visual C++++程序中,因?yàn)镃++通常被視作高級(jí)語言。然而,對(duì)于要在兩類不同設(shè)備間傳輸信息的通信網(wǎng)絡(luò)而言,二進(jìn)制數(shù)或十六進(jìn)制數(shù)的傳輸過程比十進(jìn)制數(shù)更為簡(jiǎn)單。
在某些應(yīng)用場(chǎng)合,計(jì)算機(jī)用戶接口會(huì)引導(dǎo)用戶通過鍵盤輸入十六進(jìn)制數(shù)。但因?yàn)檫@個(gè)十六進(jìn)制數(shù)要被送至嵌入式系統(tǒng),所以離開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ù)后,接下來必須將每4位二進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的十進(jìn)制值。函數(shù) convert_sbin2int()返回它的整數(shù)值 。這樣,通過帶有VC++ IDE的子函數(shù)subfunction atoi(),二進(jìn)制字符串已被轉(zhuǎn)換成十進(jìn)制數(shù)。最后,將所有小的整數(shù)相加得到最終結(jié)果。這一結(jié)果可被送至嵌入式系統(tǒng)或者以十進(jìn)制形式顯示在屏幕上。
計(jì)算機(jī)網(wǎng)絡(luò)編程中一個(gè)非?;镜膯栴}:該怎樣表示client與server之間交互的數(shù)據(jù),在往下看之前先想一想這個(gè)問題。
關(guān)鍵字: 計(jì)算機(jī) 二進(jìn)制外部數(shù)據(jù)總線是中央處理器CPU(Central Processing Unit)的一部分,是CPU與外部數(shù)據(jù)傳輸?shù)耐ǖ?。外部?shù)據(jù)總線一次可傳輸二進(jìn)制數(shù)據(jù)的位數(shù)越大,CPU與外部交換數(shù)據(jù)的能力越強(qiáng)。
關(guān)鍵字: 外部數(shù)據(jù)線 CPU 二進(jìn)制