重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
c语言编程将十进制转化为2进制可按手工转换规则进行程序转换。
创新互联公司是一家集网站建设,涞源企业网站建设,涞源品牌网站建设,网站定制,涞源网站建设报价,网络营销,网络优化,涞源网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。
整数占四个字节,每字节8位,共32位。所以,可以定义一个32位的数组来存储转换结果。
循环将整数进行除2取余数,余数存储到数组中。
当整数整除为0时,结束循环
逆序输出数组,得到转换结果
参考代码:
#include stdio.h
void main()
{
int c[32],i=0,n;
scanf("%d", n) ; //输入待转换整数n
do {
c[i++]=n%2;
n/=2;
} while(n!=0) ;
for(i--;i=0;i--)
printf("%d",c[i] );
printf("\n");
}
unsigned int i, j, sum;,改为int i, j, sum;无符号的没有负数,所有i=0永远成立,死循环啦,同学
十进制转二进制可以使用库函数itoa。
itoa函数原型:char*itoa(int value,char*string,int radix);
功能:将任意类型的数字转换为字符串。在stdlib.h中与之有相反功能的函数是atoi。
nt value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。
参考代码:
#include stdio.h
#includestdlib.h
int main()
{
int i=10;
char a[100];
itoa(i,a,2);
printf("%s\n",a);
return 0;
}
/*
1010
*/