运行环境 : ubuntu22.04
截图软件 : Snipaste 2.8.8-Beta #
#include <stdio.h> //不是很会注释递归,寥寥草草看看把
void BIN(int n) //短除法
{
if (n - 1 > 0) //如果n == 1 || n == 0就开始归
{
BIN (n / 2); //把n /= 2递下去
}
printf ("%d",n % 2); //归相当于倒取余数
}
int main ()
{
int num = 0;
scanf ("%d", &num);
BIN(num);
putchar ('\n');
return 0;
}
#include <stdio.h> //用位与和右移递归
void BIN(int n) //全1 是1, 有0 则0, 将位与出的数据输出
{ //将右移后的数据递下去
if (n != 0) //右移到0 开始归
{
BIN(n>>1); //将右移一位的数据递下去
printf("%d",n & 1); //打印 & 结果
}
}
int main ()
{
int a;
scanf ("%d",&a);
BIN(a);
putchar ('\n');
return 0;
}