将一个正整数转换成2进制并输出

来源:互联网 发布:四川网络大学 编辑:程序博客网 时间:2024/05/19 00:11
/***************************************************************************************
author:徐权
data:20150723
function:求整数的二进制数,循环调用


 ***************************************************************************************/


#include<stdio.h>
#include<stdlib.h>
#include<math.h>




void oint(int);


int main(void)
{
int n;
scanf_s("%d",&n);// vs2013以上版本
//scanf("%d", &n);// vs2013以下版本及linux系统
oint(n);
system("pause");
return 0;
}
void oint(int n)
{
if (n != 0)
{
//循环调用,根据函数进入最里层,然后从最里层打印n%2,刚好就是2进制转换的标准算法
//函数先执行oint(),后面的putchar函数要等最里
//层的oint()函数终止后,才倒序从内到外一一打印结果
oint(n / 2);
putchar('0' + n % 2); //数字转换成字母 例如:’5‘ = ’0‘ + 5 ,即将数字5转换成字符’5‘。
}
}
0 0