posts - 3, comments - 2, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

十六进制转整型

Posted on 2012-06-25 11:09 BugYang 阅读(250) 评论(0)  编辑 收藏 引用
直接上代码:
 1 int CDlgPump::ChangeNum(CString str,int length)
 2 {      
 3     char  revstr[16]    = {0};                //根据十六进制字符串的长度,这里注意数组不要越界   
 4     int   nNum[16]        = {0};
 5     int   nCount        = 1;
 6     int   nResult        = 0;
 7 
 8     strcpy_s(revstr, str);
 9 
10     for(int i = length-1; i>= 0; i--)
11     {
12         if ((revstr[i] >= '0') && (revstr[i]<='9'))
13             nNum[i] = revstr[i] -48;            //字符0的ASCII值为48   
14         else if ((revstr[i] >= 'a') && (revstr[i] <= 'f'))
15             nNum[i] = revstr[i] - 'a' +10;
16         else if ((revstr[i] >= 'A') && (revstr[i] <= 'F'))
17             nNum[i] = revstr[i] - 'A' + 10;
18         else
19             nNum[i] = 0;
20         nResult = nResult+nNum[i]*nCount;
21         nCount  = nCount*16;                        //十六进制(如果是八进制就在这里乘以8)       
22     }
23     return nResult;
24 }
25 

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理