十进制转换为二进制
运行图:
源代码:
#include <stdio.h>
/*10进制转换为2进制*/
void conversion(int a)
{
int chu, yu;
chu=a/2;
yu=a%2;
if(chu==0)
{
printf("%d",yu);
}
else
{
conversion(chu);
printf("%d",yu);
}
}
int main(void)
{
int x;
printf("请输入10进制数:");
scanf("%d",&x);
printf("转化后的2进制为:");
conversion(x);
return 0;
}
十进制转换为八进制
运行图:
源代码:
#include <stdio.h>
/*10进制转换为8进制*/
void conversion(int a)
{
int chu, yu;
chu=a/8;
yu=a%8;
if(chu==0)
{
printf("%d",yu);
}
else
{
conversion(chu);
printf("%d",yu);
}
}
int main(void)
{
int x;
printf("请输入10进制数:");
scanf("%d",&x);
printf("转化后的8进制为:");
conversion(x);
return 0;
}
十进制转换为十六进制
运行图:
源代码:
#include <stdio.h>
/*10进制转换为16进制*/
int sum(unsigned a,char buf[])
{
int chu, yu;
chu=a/16;
yu=a%16;
if(chu==0)
{
printf("%c",buf[yu]);
}
else
{
sum(chu,buf);
printf("%c",buf[yu]);
}
}
int main(void)
{
int a;
char buf[16]="0123456789ABCDEF";
printf("请输入10进制数:");
scanf("%d",&a);
printf("转化后的16制数为:");
sum(a,buf);
return 0;
}