标签:name 整数 十六进制 false 功能 ++ size_t 长度 iostream
编写一个函数,函数接收一个字符串,是由十六进制数组成的一组字符串,函数的功能是把接到的这组字符串转换成十进制数字.并将十进制数字返回。
#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; }
标签:name 整数 十六进制 false 功能 ++ size_t 长度 iostream
原文地址:http://www.cnblogs.com/lsgxeva/p/7944843.html