网站建设资讯

NEWS

网站建设资讯

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语言转二进制
文章出自:http://cdweb.net/article/docjeje.html