首页系统十进制转二进制c语言,2进制转10进制方法

十进制转二进制c语言,2进制转10进制方法

编程之家2024-05-13105次浏览

一、用C语言表达把十进制纯小数转换为二进制纯小数的代码

#include

十进制转二进制c语言,2进制转10进制方法

#include

#include

/*该函数可以实现小于整型数据的任意进制之间转换*/

/*以下函数将a进制数s转换成b进制并输出*/

voidf(inta,intb,chars[])

{charr[17];

十进制转二进制c语言,2进制转10进制方法

inti,n,t,k;

for(n=strlen(s)-1,i=t=0;*(s+i)!='\0';i++,n--)/*这里先转换成十进制数*/

{if(*(s+i)

t+=(*(s+i)-'0')*int(pow(a,n));

else

t+=(*(s+i)-'A'+10)*int(pow(a,n));

十进制转二进制c语言,2进制转10进制方法

}

for(i=0;t!=0;i++)/*再转换成b进制*/

{k=t%b;

if(k>9)r[i]='A'+k-10;

elser[i]='0'+k;

t/=b;

}

r[i]='\0';

s=strrev(r);

printf("%s",s);

}

二、用C语言编写二进制转换十进制的程序

有两种计算方法,运行的结果是完全相同的:

一是采用位运算的方法:

#include

intmain()

{intn,i;

scanf("%d",&n);

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

printf("%d",(n&(1

return0;

}

二是采用楼主指定的方法:

#include

inta[32];

intmain()

{intn,i,k=0;

scanf("%d",&n);

if(n

for(i=31;n;i--)

{a[i]=n%2;

n/=2;

}

if(k==1)

{for(i=31;i>=0;i--)

a[i]=1+a[i];

for(i=31;a[i];i--)

a[i]=0;

a[i]=1;

}

for(i=0;i

printf("%d",a[i]);

return0;

}

三、C语言如何将一个8位二进制的数转换为十进制数

我就懒得敲了,转一个网友的回答:

从最低位(最右)算起,位上的数字乘以本位的权重,权重就是2的第几位的位数减一次方。比如第2位就是2的(2-1次)方,就是2;第8位就是2的(8-1)次方是128。把所有的值加起来。

2(1-1)代表2的0次方,就是1;其他类推

比如二进制1101,换算成十进制就是:1*2(1-1)+0*2(2-1)+1*2(3-1)+1*2(4-1)=1+0+4+8=13

计算机编程语言入门 学计算机编程需要什么基础知识i9800(三星i9800值得购买吗)