下面的程序可以算出10进制到2~16进制的转换,可以算一下。
#include <stdio.h>
int main()
{
int i,num,R;
char bitnum[100];
printf("请输入一个十进制整数:");
scanf("%d",&num);
printf("请输入要转换的进制数(2-16之间):");
scanf("%d",&R);
if(R<2||R>16){ //判断进制数范围
printf("输入数据错误");
}else
//计算需要转换的进制数
for (i=0;num!=0;i++){
if (num % R >= 10) {
bitnum[i]= 'A' + (num % R - 10);
} else {
bitnum[i]=num % R + '0';
}
num = num / R;
}
while(i--){ //逆向输出
printf("%c",bitnum[i]);
}
return 0;
} |