c语言自带转成二进制函数 C语言转二进制

求十进制转换二进制C语言代码

求十进制转换二进制C语言代码代码如下:

创新互联长期为上千多家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为清河门企业提供专业的成都做网站、成都网站设计,清河门网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

#includestdio.h

#define NR(sizeof(int)*8) //二进制位的个数

voiddeciToBin(intnum);//十进制转换为二进制函数声明

/*主函数*/

intmain(void)

{

intnum;

fprintf(stdout,"请输入一个正整数:");

/*获取并检查用户输入*/

while(1)

{

if(fscanf(stdin,"%d",num)!=1)

{

fprintf(stderr,"输入错误!请重新输入:");

while(getchar()!='\n');//去掉多余的非法字符

continue;

}

elseif(num0)       //输入的数不能为负数

{

fprintf(stderr,"请输入错误!请输入正整数:");

continue;

}

else

break;

}

fprintf(stdout,"对应二进制为:");

#if1/*方法一:不使用递归*/

charbitArr[NR];

inti=-1;

/*算法:栈的数学模型*/

do{

i+=1;

bitArr[i]=num%2;

num/=2;

}while(num!=0);

/*逆序打印*/

for(i;i=0;i--)

{

fprintf(stdout,"%d",bitArr[i]);

}

fputc('\n',stdout);

#else/*方法二:使用递归*/

if(num==0)

{

fprintf(stdout,"0\n");

}

else

{

deciToBin(num);    //调用第归函数

fputc('\n',stdout);

}

#endif

return0;

}

/*

*@函数名:deciToBin

*@函数功能:实现十进制转换为二进制

*@参数:需要转换的十进制整数

*/

voiddeciToBin(intnum)

{

/*第归结束条件*/

if(num==0)

{

return;

}

/*第归调用*/

deciToBin(num/2);

/*逆序打印*/

fprintf(stdout,"%d",num%2);

}

扩展资料:

使用C语言编程实现任意进制数(2-16进制)转换为其他任意进制数(2-16进制)方法:

#includestdio.h

#includestring.h

#includestdlib.h

intTenNum(chara[],intB);

voidNumchange(intm,intB);

intTenNum(chara[],intB)

{

intlen,i,num;

intsum=0;

len=strlen(a);

for(i=0;ilen;i++)

{

if(a[i]='0'a[i]='9')

num=a[i]-'0';

elseif(a[i]='A'a[i]='F')

num=a[i]-'A'+10;

sum=sum*B+num;

}

returnsum;

}

voidNumchange(intm,intB)

{

intn;

if(m)

{

Numchange(m/B,B);

n=m%B;

if(n10)

printf("%d",n);

else

printf("%c",n+55);

}

}

intmain()

{

intB,b;

chara[20];

printf("请输入待转换数的进制(2-16):");

do{

scanf_s("%d",B);

}while(B2B16);

printf("请输入待转换数:");

getchar();

gets_s(a);

intm=TenNum(a,B);

printf("请输入需要转成几进制数(2-16):");

do{

scanf_s("%d",b);

}while(B2B16);

printf("%d进制数%s转换为%d进制数的结果为:",B,a,b);

Numchange(m,b);

printf("\n");

system("pause");

return0;

}

用c语言编写函数把任意十进制数转换成二进制数

/*

输入整数(0结束) : 10

10 = (1010)2

输入整数(0结束) : 127

127 = (1111111)2

输入整数(0结束) : 255

255 = (11111111)2

输入整数(0结束) :

*/

#include stdio.h

#include stdlib.h

char *Converse(char s[],int n) {

int i,ch,m = 0;

while(n) {

s[m] = n%2 + '0';

n /= 2;

++m;

}

s[m] = '\0';

for(i = 0; i m/2; ++i) {

ch = s[i];

s[i] = s[m - 1 - i];

s[m - 1 - i] = ch;

}

return s;

}

int main() {

int num;

char s[20];

while(1) {

printf("输入整数(0结束) : ");

scanf("%d",num);

if(num == 0) break;

if(num 0) num = -num;

printf("%d = (%s)2\n",num,Converse(s,num));

}

system("PAUSE");

return 0 ;

}

怎么用C语言编程把十进制转化成二进制

c语言中没有二进制的格式输出符号.

你可以用itoa函数很方便的将一个10进制int转变成二进制字符串.

如:

int

i;

char

s[128];

scanf("%d",i);

itoa(i,

s,

2);

/*3个参数,第一个是待转换的数,第二个是存放转换后的字符串,第三个即需要转换的进制*/

printf("该数转换为二进制是:

[%s]\n",s);

补充一点,itoa函数的头文件是stdlib.h

C语言 十进制转换为二进制

这个主要考察递归的思想,只要你把递归的思想理解清楚了,就OK了。

前言不如一图

参考连接:

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

#includestdio.h

#includemath.h

void main()

{int ten,er=0,fig;int i;

printf("输入十进制数:");

scanf("%d",ten);

if(ten!=1)

{for(i=1;ten1;i++)

{

fig=ten%2;

ten=ten/2;

er+=fig*pow(10,(i-1));

} er+=1*pow(10,(i-1));

printf("转化为二进制数为:%d\n",er);

}

}

网页题目:c语言自带转成二进制函数 C语言转二进制
本文来源:https://www.cdcxhl.com/article24/docjeje.html

成都网站建设公司_创新互联,为您提供移动网站建设网站制作网站导航网站收录面包屑导航小程序开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

网站托管运营