十六进制转整型

直接上代码:

 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 }

转载于:https://www.cnblogs.com/yangpengsky/archive/2012/07/05/2577750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值