十进制转化成二进制
关于十进制转化成二进制的基础知识可以参考这篇博客点这里
十进制转化二进制的递归与非递归算法
#include<stdio.h>
#include<stdlib.h>
//非递归算法
void fun(int N)
{
int n;
int i=1;
int A=0;
while(N>=2)
{
n=N%2*i;
A+=n;
N=N/2;
i=i*10;
}
A+=N*i;
printf("%d",A);
}
//递归算法
void FUN(int N)
{
if(N!=0)
{
FUN(N/2);
printf("%d",N%2);
}
}
int main()
{
int N;
scanf("%d",&N);
fun(N);
printf("\n");
FUN(N);
return 0;
}
运行结果如下 34的二进制是100010