代码:
#include <stdio.h>
int main()
{ int i;
scanf("%d",&i);
printf("八进制为:%o\n",i);
printf("十六进制为:%x\n",i);
printf("十六进制为:%X\n",i);
return 0;
}
可以看出来,16进制小写‘x’输出的字母就是小写的,大写‘X’输出的字母就是大写的
想要以16进制或者8进制输入时:
以16进制为例,将输入语句改为:
scanf("%x",&i);
b:二进制
o:八进制
d:十进制
x,X:16进制
程序里是体现不出二进制的哦!
下面两种转换方法
递归转换进制(int型)
#include<stdio.h>
int fact(int n)
{ if(n<2)
return n;
else
{ return fact(n/2)*10+n%2;
}
}
int main()
{
int n;
scanf("%d",&n);
printf("%d",fact(n));
return 0;
}
循环:
#include<stdio.h>
main()
{
int k,a[101],i=0;
printf("请你输入一个十进制整数\n");
scanf("%d",&k);
while (k>0)
{
a[i]=k%2;
k/=2;
i++;
}
for(i=i-1;i>=0;i--)
printf("%d",a[i]);
}
运行结果:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)