C语言进制换算程序

来源:百度知道 编辑:UC知道 时间:2024/06/03 14:28:14
要一个C程序

就是输入一个十进制数字,然后把这个数字转换成二、四、八、十六、三十二进制的数,并打印出来。

谢谢

这样看,一个十进制数,比如123,我们如果要把它转成十进制,那行就是这样算
用这个数除以100,然后得1也就是第一位数,然后用这个数减去1*100,再拿得到的那个数23除以10,然后得2,23-2*10=3,再用3/1,就出来了
如果要转成别的进制,只用除以相应该的数就可以了
如转成二进制就除以2^n,2^n-1...2^0,也就是1,2,4,8,16....
十六进制这样1,16,256....
程序如下

#include "stdio.h"
#include "math.h"
void main()
{
int n;
int i,k;
int tmp,m;
printf("请输入一个十进制的数:\n");
scanf("%d",&n);
printf("2 ");
for(i=30,k=n;i>=0;i--)
{
tmp=int(pow(2,i));
m=k/tmp;
printf("%d",m);
k=k-m*tmp;
}
printf("\n4 ");
for(i=15,k=n;i>=0;i--)
{
tmp=int(pow(4,i));
m=k/tmp;
printf("%d",m);
k=k-m*tmp;
}
printf("\n8 ");
for(i=10,k=n;i>=0;i--)
{
tmp=int(pow(8,i));
m=k/tmp;
printf("%d",m);
k=k-m*tmp;
}
printf