900 1400 16进制如何改为10进制

来源:百度知道 编辑:UC知道 时间:2024/06/04 07:15:07

n进制的数其实k位的权值为n的k-1次方
16进制的内容楼上说的已经够多了
我就不赘述了
十进制123=1*10*10+2*10+3
16进制它类似
就是把10换为16
900--->>>9*16*16=2304

1400---->>>1*16*16*16+4*16*16=5120
我这里还有16进制转换10进制的程序
#include <stdio.h>
#include <string.h>
main()
{char h[36];
double d=0.0,p=1.0;
int i=0,k=0,n=1;
printf("\nplease input hexadecimal data:\n");
scanf("%s",h);
strupr(h);
while(h[i]==32) i++;
if(h[i]=='-') {n=-1;i++;}
if(h[i]=='+') i++;
while(h[i]!=0) {
if(h[i]=='.') {k=1;i++;continue;}
if(h[i]>='0'&&h[i]<='9')
h[i]=h[i]-48;
else if(h[i]>='A'&&h[i]<='Z')
h[i]=h[i]-55;
else {printf("\nerror!\n");
break;}
if(k==0) d=d*16+h[i];
else {p=p/16.0; d=d+p*h[i]; }
i++;
}
d=d*n;
printf("decimal data is:%lf\n",