C语言 之 十进制转换为二进制 常见解法集合
如需转载 请标明出处。谢谢配合。
问题描述:学习C语言时 发现 进制转换 是需要考虑的问题。
备注:IDLE使用的是 Dev C++ 其他 环境请 注意 移植问题。
解法一:使用 数组
十进制 转化为二进制 是使用 倒序取余法 即:将十进制数 每次 除以2 将余数 使用 数值型数组存储 倒序输出即可。
#include <stdio.h>// 预处理命令
void main()
{
int i,j,n,m;
printf("请输入一个十进制的数(0 ~ 32767) N: ");
scanf("%d",&n);
int a[16]={0};
for (m=0;m<15;m++)
{
i=n%2; //取出 余数
j=n/2;
n=j; //取出 商
a[m]=i; //存储余数
}
for (m=15;m>=0;m--)
{
printf("%d",a[m]);//倒序输出
n++;
if (n%4==0)
printf("\x20");
}
printf("\n");
return ;
}