概述
#include<stdio.h>
int main()
{
int b[16];
int a[16];
int number=100;//数的范围0—2^16-1,这里以100为例
int i,j,k=0,n=0;
do
{
i=number%2;
number=number/2;
b[k++]=i;
a[n++]=(i^1);
}while(number);
printf("十进制数转成二进制数: ");
for(j=k-1;j>=0;j--)
{
if(j!=0)
{
printf("%d",b[j]);
}
else
{
printf("%dn",b[j]);
}
}
printf("十进制数的二进制数按位取反: ");
for(j=n-1;j>=0;j--)
{
if(j!=0)
{
printf("%d",a[j]);
}
else
{
printf("%dn",a[j]);
}
}
printf("十进制数的二进制数倒序输出: ");
for(j=0;j<=k-1;j++)
{
if(j!=k-1)
{
printf("%d",b[j]);
}
else
{
printf("%dn",b[j]);
}
}
return 0;
}
#include<stdio.h>
void conver_bin(int x)//利用递归实现一个十进制转换为二进制输出
{
if((x/2)!=0)
{
conver_bin(x/2);
printf("%d",x%2);
}
else
{
printf("%d",x);
}
}
int main()
{
conver_bin(123);
printf("n");
return 0;
}
#include<stdio.h>
void change2(int n)//递归转化为二进制
{
if(1==n)
{
printf("%d",n);
}
else
{
change2(n/2); //如果将这两个语句顺序颠倒就会相反输出
printf("%d",n%2);//2改成8或者16可以实现其它进制的转换
}
}
int main()
{
change2(16);
printf("n");
return 0;
}
十进制转化为二进制和八进制
#include<stdio.h>
void Change_Num_B(int num)//递归转化为二进制
{
if(1==num)
{
printf("%d",num);
}
else
{
Change_Num_B(num/2);
printf("%d",num%2);
}
}
void Change_Num_O(int num)//递归转化为二进制
{
if(1==num)
{
printf("%d",num);
}
else
{
Change_Num_O(num/8);
printf("%d",num%8);
}
}
void print_sys(int a,int n)
{
if(a==0)
printf("error!!!");
if(a==2)
Change_Num_B(n);
if(a==8)
Change_Num_O(n);
}
int main()
{
int n=0,a=0;
printf("please input number:");
scanf("%d",&n);
printf("n");
printf("please input number which is you want chang to that system:(2,or,8)");
scanf("%d",&a);
printf("n");
print_sys( a,n);
return 0;
}
待优化》》》》》》》》》》》
最后
以上就是时尚外套为你收集整理的巧匠十进制转换成二进制,并输出二进制按位取反和逆序的全部内容,希望文章能够帮你解决巧匠十进制转换成二进制,并输出二进制按位取反和逆序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复