目录
编程思路:十进制转换成二进制的方法除以2取余数。所以要先定义一个整型数据,让其重复除以2,并且把余数取出来。
第一种方法:使用函数,将实现二进制的过程封装成一个函数,直接调用即可;
第二种方法:使用递归函数,反复的调用自己,即反复的让数值除以2,并打印出其余数。
第三种方法:与第一种方法的区别在于printf的优化。
具体实现代码:
第一种方法:
#include<stdio.h>
void gtwo(int a)
{
int temp = 0;
temp = a;
while(temp>0)
{
if (temp %2 == 0)
{
printf("二进制的数为:%d\n",temp%2);
temp = temp/2;
}
else if(temp%2 == 1)
{
printf("二进制的数为:%d\n",temp%2);
temp = temp/2;
}
}
// if(tem == 0)
// return;
}
int main()
{
int a = 0;
printf("请输入一个十进制数:");
scanf("%d",&a);
gtwo(a);
}
第二种方法:
#include<stdio.h>
void gtwo(int a)
{
if(a==0)
return;
gtwo(a/2);
printf("%d",a%2); //除二取余数
}
int main()
{
int a = 0;
printf("请输入一个数:");
scanf("%d",&a);
printf("二进制数:");
gtwo(a);
printf("\n");
return 0 ;
}
第三种方法:
#include<stdio.h>
void gtwo(int a)
{
int temp = 0;
temp = a;
while(temp>0)
{
if (temp %2 == 0)
{
temp = temp/2;
printf("二进制的数为:0\n");
}
else if(temp%2 ==1)
{
temp = temp/2;
printf("二进制的数为:1\n");
}
}