void change(char s1[])
{
int sum = 0;//初始化结果
int length = strlen(s1)-2;//获得长度(除去0x)
*(s1+=2);//让*s1指向第三个元素
for (; *s1 != '\0'; *s1++)
{
int num;//字符ASCII码转化成的数字
if (int (*s1) >= 48 && int (*s1) <= 57)//如果字符是数字
{
num = int (*s1) - 48;
}
else//如果字符是字母
{
num = int (*s1) - 55;
}
sum += num*pow(16, length - 1);//数字乘对应的16的位数-1次方
length--;//位数减少一个
}
cout << sum << endl;//如有需要可改为返回
}
学习记录——16进制转10进制
最新推荐文章于 2024-07-20 22:49:13 发布