十进制转8 、16 进制
#include <stdio.h>int main()
{
int n,m;
printf("输入十进制数:");
scanf("%d",&n);
printf("输入转换的进制数:");
scanf("%d",&m);
int s,ys,er,i;
if(m==2){
while(n!=0)
{
n=n/2; 这个二进制是对的 那转换为8进制和16进制的这样写为什么不对呢
ys=n%2;
er+=ys*i;
i=i*10;
}
printf("%d进制数为:%llu",m,er);
}
else if(m==8){
while(n!=0)
{
n=n/8;
ys=n%8;
er+=ys*i;
i=i*10;
}
printf("%d进制数为:%o",m,er);
}
else if(m==16){
while(n!=0)
{
n=n/16;
ys=n%16;
er+=ys*i;
i=i*10;
}
printf("%d进制数为:%x",m,er);
}
return 0;
}