16进制数转换成10进制整数的VC++程序

嵌入式设计应用

132人已加入

描述

二进制数据很少直接用在Visual C++++程序中,因为C++通常被视作高级语言。然而,对于要在两类不同设备间传输信息的通信网络而言,二进制数或十六进制数的传输过程比十进制数更为简单。

在某些应用场合,计算机用户接口会引导用户通过键盘输入十六进制数。但因为这个十六进制数要被送至嵌入式系统,所以离开PC之前它必须被转换成真正意义上的数。此时,用户输入的是十六进制形式的字符串。然而,Visual C++ 6.0不提供将十六进制字符串转换成真正意义的(用0、1表示)十六进制或二进制数的转换函数。

图中给出了可实现这种函数的程序的流程图。首先,需将输入的十六进制数转换成二进制数。因为一个十六进制字符代表4位二进制数,所以最好采用" switch case "结构将单个的十六进制字符转换 4位二进制数。函数convert_hex2bin() 可完成这一转换。

在将整个十六进制字符串转换成二进制数后,接下来必须将每4位二进制数转换成相应的十进制值。函数 convert_sbin2int()返回它的整数值 。这样,通过带有VC++ IDE的子函数subfunction atoi(),二进制字符串已被转换成十进制数。最后,将所有小的整数相加得到最终结果。这一结果可被送至嵌入式系统或者以十进制形式显示在屏幕上。

16进制

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分