C语言如何实现十六进制0x123转为十进制123?
是不是这样
#include <stdio.h>
void main()
{
int n = 0x123;
printf("%x",n);
}
或者用循环转换
#include <stdio.h>
void main()
{
int n = 0x123;
int m = 0, z = 1;
while (n>0)
{
m += n % 16 * z;
z *= 10;
n /= 16;
}
printf("%d",m);
}
结果 是十进制的123
16进制0x123转换为10进制是291,要10进制也是123吗?
你是有个字符串char ch[] = "0x123",然后要转换成整数123?
如果不是字符串,就没有前面有0x之说,0x只是显示效果,表示这个整数是16进制的123,内存存储还是10进制的数据
你把你有什么,要得到什么说清楚
十六进制0x123 转换为十进制是291 ,不会是123的。。