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

请不要用递归函数!

#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);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-10
#include <stdio.h>
#include <stdlib.h>

typedef struct
{
unsigned char bit_1 : 1;
unsigned char bit_2 : 1;
unsigned char bit_3 : 1;
unsigned char bit_4 : 1;
unsigned char bit_5 : 1;
unsigned char bit_6 : 1;
unsigned char bit_7 : 1;
unsigned char bit_8 : 1;
}bit;

int main()
{
int *p_int=NULL, len=sizeof(int);
bit *p_bit=(bit *)malloc(len*sizeof(bit));
p_int=(int *)p_bit;
*p_int=0;
printf("Please input a int value! \n");
scanf("%d",p_int);
while(len--)
printf("%d%d%d%d%d%d%d%d ", (p_bit+len)->bit_8, (p_bit+len)->bit_7,
(p_bit+len)->bit_6, (p_bit+len)->bit_5,
(p_bit+len)->bit_4, (p_bit+len)->bit_3,
(p_bit+len)->bit_2, (p_bit+len)->bit_1) ;
printf("\n");
free(p_bit);
return 0;
}
第2个回答  2008-04-10
void change(int *N,int n)
{
int i=0;
for(i=0;i<16;i++)
N[i]=(n>>i)&0x0001;
}
转换后的二进制01码存于数组N。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网