c语言中十六进制与十进制的转换 阳光穿透心脏的1/2处 2022-11-29 11:47 133阅读 0赞 **一、十六进制数转十进制数** #include<stdio.h> #include<math.h> #include<string.h> int Change(char* c, int len) { int a[30]; int i; int sum = 0;//用来存放十进制数值 for (i = 0; i <len; i++) { if ('A' <= c[i] && c[i] <= 'F') { a[len-1-i] = c[i] - 'A' + 10;//将数值逆序存入数组a } else if ('a' <= c[i] && c[i] <= 'f') { a[len-1-i] = c[i] - 'a' + 10; } else a[len-1-i] = c[i] - '0'; } for (i = 0; i<len; i++) { a[i]=a[i]*(int)pow(16,i); sum += a[i]; } return sum; } int main() { char c[10] = { "7fffffff" };//储存十六进制数 int i=Change(c, strlen(c));//由于int 数据类型限制,能输入的最大十六进制数为7fffffff printf("%d\n", i); }
还没有评论,来说两句吧...