C语言中怎么把八进制和十六进制转换成十进制的

2024-12-28 15:48:12
推荐回答(1个)
回答1:

如果都是整型值,不需要转换,因为8进制 16进制 10进制只是不同的写法 值是相同的。 

直接赋值即可。 

如果是字符串 可以用sscanf 

八进制用%o  16进制用%x

比如

char s[10] = "11";//8进制。
int a;
sscanf(s,"%o", &a);

执行后 a=9

类似的

char s[10] = "11";//16进制。
int a;
sscanf(s,"%x", &a);

执行后 a=17