二進位數據很少直接用在Visual C++++程序中,因為C++通常被視作高級語言。然而,對於要在兩類不同設備間傳輸信息的通信網絡而言,二進位數或十六進位數的傳輸過程比十進位數更為簡單。
本文引用地址:http://www.eepw.com.cn/article/151042.htm在某些應用場合,計算機用戶接口會引導用戶通過鍵盤輸入十六進位數。但因為這個十六進位數要被送至嵌入式系統,所以離開PC之前它必須被轉換成真正意義上的數。此時,用戶輸入的是十六進位形式的字符串。然而,Visual C++ 6.0不提供將十六進位字符串轉換成真正意義的(用0、1表示)十六進位或二進位數的轉換函數。
圖中給出了可實現這種函數的程序的流程圖。首先,需將輸入的十六進位數轉換成二進位數。因為一個十六進位字符代表4位二進位數,所以最好採用 switch case 結構將單個的十六進位字符轉換 4位二進位數。函數convert_hex2bin() 可完成這一轉換。
在將整個十六進位字符串轉換成二進位數後,接下來必須將每4位二進位數轉換成相應的十進位值。函數 convert_sbin2int()返回它的整數值 。這樣,通過帶有VC++ IDE的子函數subfunction atoi(),二進位字符串已被轉換成十進位數。最後,將所有小的整數相加得到最終結果。這一結果可被送至嵌入式系統或者以十進位形式顯示在屏幕上。
c++相關文章:c++教程