快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

c语言二进制数转换函数 c语言二进制转换代码

怎样用C语言将二进制数转换成十进制

将二进制转成十进制,按权值展开求和即可。

成都创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站设计、成都网站建设、蟠龙网络推广、小程序开发、蟠龙网络营销、蟠龙企业策划、蟠龙品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;成都创新互联公司为所有大学生创业者提供蟠龙建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

可以通过以下代码解决:

#include stdio.h

#include stdlib.h

int main()

{

char a[17];

gets(a);

int len,i,sum=0,m,j;

len=strlen(a);

if(len=16)

{

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

{

m=1;

if(a[i]=='1')

{

for(j=1;j=len-i-1;j++)

m*=2;

sum+=m;

}

}

printf("%d",sum);

}

return 0;

}

扩展资料:

我们常用的进制包括:二进制、八进制、十进制与十六进制,它们之间区别在于数运算时是逢几进一位。比如二进制是逢2进一位,十进制也就是我们常用的0-9是逢10进一位。

十进制转二进制:十进制数除2取余法,即十进制数除2,余数为权位上的数,得到的商值继续除2,依此步骤继续向下运算直到商为0为止。

八进制转二进制:八进制数通过除2取余法,得到二进制数,对每个八进制为3个二进制,不足时在最左边补零。

十六进制转二进制:十六进制数通过除2取余法,得到二进制数,对每个十六进制为4个二进制,不足时在最左边补零。

负数的进制转换稍微有些不同。

先把负数写为其补码形式(在此不议),然后再根据二进制转换其它进制的方法进行。

例:要求把-9转换为八进制形式。则有:

-9的补码为1111 1111 1111 0111。从后往前三位一划,不足三位的加0

111----7

110----6

111----7

111----7

111----7

001----1

然后我们将结果按从下往上的顺序书写就是:177767,那么177767就是十进制数-9的八进制形式。

其实转化成任意进制都是一样的。

参考资料:

二进制——百度百科

十进制——百度百科

c语言把二进制数转换成十进制数的程序怎么写。

按照如下步骤即可用C语言把二进制数转换成十进制数的程序:

1、首先在主函数中设置成函数Sum,另外定义了一个数组array[8],用于存放输入的八位二进制数。

2、然后使用了一个for循环语句,用于输入八位二进制数。在scanf函数里,在%d之间加一个1,然后使用printf函数输出,并且调用Sum函数,数组名作为实参。

3、在Sum函数中,声明了一个power函数,在这里n为指数,term为每一位数转换为十进制后的的数,如1*(2*2),sum为总和。

4、然后使用一个for循环语句,i用于控制循环的次数,n从最高的指数7开始每次循环减一,如果指数大于或等于零的,就进行循环,调用power函数时,将n作为实参,最后将和返回。

5、在power函数中,如果b等于零,即指数为零,则返回1,否则就进入一个循环,j用于控制循环次数。

6、最后看一下运行结果,这个C语言程序既可以把二进制数成功转换成十进制数了。

C语言,利用函数实现将二进制数转化为十进制数并实现相加。

1、2进制10进制的转换方法:

二进制数1101转十进制:

1×2的三次幂+1×2的二次幂+0×2的一次幂+1×2的零次幂=8+4+0+1=13

附加一个八进制转十进制的例子吧:

507(八进制转10进制):

5×8的2次幂+0×8的1次幂+7×8的0次幂=

5×64+0×8+7×1=327(10进制)

2、例程:

#include "stdio.h"

double BtoD(char B[])

{

double d=0;//转为十进制数的中间结果变量

int i=0;    //当前求到了二进制数的位置

while(B[i++]!='\0')//当没有到二进制数结束时,一直循环

{

d=d*2+B[i-1]-'0'; //求出每个二进制位的位权(从高位到低位,所以每求一位,先前的都应变为原来的2倍),累加到中间结果

}

return d;//返回最终结果

}

int main()

{

char b1[20],b2[20];//定义两个二进制数字符串

scanf("%s %s",b1,b2);//输入两个字符串

printf("%.0lf",BtoD(b1)+BtoD(b2));//输出两个二进制数转为十进制数后的和

}


分享名称:c语言二进制数转换函数 c语言二进制转换代码
标题URL:http://6mz.cn/article/dojdshi.html

其他资讯