您的位置:首页 > 编程语言 > C语言/C++

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

2015-07-23 14:56 232 查看
/***************************************************************************************

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‘。
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息