十六进制字符串转十进制整数
Posted 云水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十六进制字符串转十进制整数相关的知识,希望对你有一定的参考价值。
十六进制字符串转十进制整数
编写一个函数,函数接收一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回。
#include <iostream> using namespace std; // 十六进制字符串的最大长度 #define MAX_HEX_STR_LEN 100 bool hexToDec(char shex[], int & idec) { size_t i = 0, len = 0; int mid = 0; len = strlen(shex); if (len > MAX_HEX_STR_LEN) { return false; } idec = 0; for (i = 0; i < len; i++) { mid = 0; if (shex[i] >= ‘0‘ && shex[i] <= ‘9‘) { mid = shex[i] - ‘0‘; } else if (shex[i] >= ‘a‘ && shex[i] <= ‘f‘) { mid = shex[i] - ‘a‘ + 10; } else if (shex[i] >= ‘A‘ && shex[i] <= ‘F‘) { mid = shex[i] - ‘A‘ + 10; } else { return false; } // 移位表示变为2的n次方倍 mid <<= ((len - i - 1) << 2); idec += mid; } return true; } int main(int argc, char * argv[]) { int a = 0; char s[] = "fae3"; hexToDec(s, a); cout << a << endl; return 0; }
以上是关于十六进制字符串转十进制整数的主要内容,如果未能解决你的问题,请参考以下文章