16进制如何转换为10进制,比方0x0f00转化为10进制是多少呢?

如题所述

3840
你可以用开始--程序--附件--计算器。来换算
点击那里的查看,可以看到科学型和标准型,用科学型。
手动算的话,a=11,b=12,c=13,d=14,e=15,f=16.其它123456789和十进制一样。
0X代表16进制.0X0fff=0X1000-0X0001.0X1000=16*16*16(这个和1000=10*10*10一样)。所以0X0f00=0X1000-0X00100=16*16*16-16*16=3840
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-02-16
//十六进制转化为十进制
#include<stdio.h>
int CiFang(int n);
int main()
{
char a[21]; //记录十六进制数
int i,j,s=0;
printf("16进制数是:");
gets(a); //不要超过20位

for(i=0;a[i]!='\0';i++);

for(j=i-1;j>-1;j--)
{
if(a[j]<='9'&&a[j]>='0')
{

s+=(a[j]-48)*CiFang(i-j-1);
}
else if(a[j]<='F'&&a[j]>='A')
s+=(a[j]-55)*CiFang(i-j-1);
else
{
printf("error input!");
break;
}
}
printf("\n他的十进制数是:%d",s);
getchar();
return 0;
}
int CiFang(int n)
{
int i,s=1;
for(i=0;i<n;i++)
s*=16;
return s;
}
例如:输入0F00,输出3840
第2个回答  2010-02-16
逐位求就可以了。从最低位开始,0*16的0次,0*16的一次,15*16的2次,以此类推。包括其他进制也是一样
第3个回答  2010-02-16
不想自己处理就用itoa或者printf 如果想自己处理就用标准的进制转换方法一位一位求余
第4个回答  2010-02-16
0x是用来标识数字为16进制,是15*16^2=3 840