用C语言把十进制转换成二进制

一楼同志的数组没有初始化,所以运行结果很荒诞。
二楼同志负数好象无法转换。

#include<stdio.h>
void main()
{
int m;
int a[20]={0};//初始化数组
int i,j=0;//计数器
scanf("%d",&m);
while(m>0)
{
a[j]=m%2;
j++;
m=m/2;

}
for(i=j;i>=0;i--)
{
printf("%d",a[i]);//输出二进制
}
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2008-04-11
除2取余阿
第2个回答  2008-04-11
#include<stdio.h>
#include<math.h>
void main()
{int ten,er=0,fig;int i;
printf("输入十进制数:");
scanf("%d",&ten);
if(ten!=1)
{for(i=1;ten>1;i++)
{
fig=ten%2;
ten=ten/2;
er+=fig*pow(10,(i-1));
} er+=1*pow(10,(i-1));
printf("转化为二进制数为:%d\n",er);
}
}
第3个回答  2008-04-11
ertgsdg
第4个回答  2008-04-11
利用栈结构来解决这个问题。
利用栈的先进后出的特性,将十进制数除以2余数入栈,最后让数据依次出栈就实现了进制的转换,稍后我把代码给你贴上,你先自己做一下看看能不能做出来吧!
第5个回答  2008-04-11
int d;
char b[10];
itoa(d, b, 2);

用c语言把十进制转换成二进制
} er+=1*pow(10,(i-1));printf("转化为二进制数为:%d\\n",er);} }

用C语言把十进制转换成二进制
printf("%d",a[i]);\/\/输出二进制 } }

怎样用十进制转换成二进制数呢?
在C语言中,可以使用以下代码将十进制数转换为二进制数:include <stdio.h> void decimalToBinary(int n) { int binaryNum[32];int i = 0;while (n > 0) { binaryNum[i] = n % 2;n = n \/ 2;i++;} for (int j = i - 1; j >= 0; j--) { printf("%d", binaryNum[j...

c语言怎么将十进制转化成二进制
void main(){ \/\/进制转换函数的声明 int transfer(int x);int x;printf("请输入一个十进制数:");scanf("%d",&x);printf("转换成二进制数是:%d\\n",transfer(x));} int transfer(int x){ int p=1,y=0,yushu;while(1){ yushu=x%2;x\/=2;y+=yushu*p;p*=10;if(x<2){ y+=...

C语言十进制转二进制,程序和流程图,最好有注释,谢了!
这个也要别人写就有点懒了,其实10进制转2进制原理非常简单,把十进制数 模 2(也就是小学生都知道的除以2得到的余数),得数倒数放在一个字符数组中,然后把这个数除以2,得数再安装上面的步骤执行,直到这个得数<2,作为第一位就可以,程序如下:int a;int i;char bits[1024];\/\/多一点没...

c语言实现十进制转换二进制
思路:十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。参考代码:...

用C语言如何将十进制转换为二进制
3、输入十进制数:printf("请输入一个十进制数(0~32767):\\n");scanf("%d", &n); \/*输入n的值*\/ 4、计算二进制数:for (m = 0; m < 15; m++) \/*for循环从0到14,最高为符号位,本题始终为0*\/ { i = n % 2; \/*取2的余数*\/ j = n \/ 2; \/*取被2整...

c语言编程,如何将十进制转化为2进制
c语言编程将十进制转化为2进制可按手工转换规则进行程序转换。整数占四个字节,每字节8位,共32位。所以,可以定义一个32位的数组来存储转换结果。循环将整数进行除2取余数,余数存储到数组中。当整数整除为0时,结束循环 逆序输出数组,得到转换结果 参考代码:include <stdio.h>void main(){ int...

c语言十进制转二进制代码
c语言十进制转二进制一般来说就是指在C语言环境下,实现把十进制转换成二进制,也就是属于一种进制的转换,其原理通常是正整数转换成二进制,采用除二取余,然后倒序排列,高位补零的方式。参考范例:十进制转二进制示例代码一 include stdio.h int main(){ int i, n = 0, b[16];scanf(%d, ...

用C语言写的十进制数转换为二进制数的程序
if(n==0) return ;else jinzhi(n\/j,j);printf("%d",n%j);} void main(){ int n,j;printf("输入要转换的数,和要转换的进制范围在2-9之间:)";scanf("%d %d",&n,&j);jinzhi(n,j);printf("\\n")l;}递归算法,可以转换任意2-9之间的进制,如果要就100转换为2进制就输入100...

相似回答