# include & ltstdlib.h & gt
voidmain()
{
char * p = " 0x 1b ";
char * str
longi = strtol(p & amp;str,16);
printf("%d\r\n ",I);
}
//輸出值是27
參數base表示采用的基本系統。例如,如果基值是10,則基系統是10,如果基值是16,則基系統是16。基值為0時,按10轉換,但遇到前綴' 0x '就按16轉換,遇到前綴' 0 '而不是' 0x '就按8轉換。
擴展數據
c語言十進制到2 ~ 16十進制
# include & ltstdio.h & gt
voidtrans(intdata,intbase)
{
intx[64],k,I = 0;
while(數據)
{
x[I]= data % base;
data/= base;
i++;
}
for(k = I-1;k & gt=0;k -)
if(x[k]& lt;10)
printf("%d ",x[k]);
else if(x[k]& lt;=16)
printf("%c ",' A '+x[k]-10);
}
intmain(void)
{
intnum,base
scanf("%d%d ",& amp數字& amp基地);
if(base & lt;= 0 | | base & gt16)
{
printf(" data error \ n ");
返回;
}
printf("number=%dbase=%d\n ",num,base);
trans(數字,基數);
printf(" \ n ");
return0
}