c语言把二进制转化为十进制(C语言编程经典继续)

我们知道,现实生活中,有很多有关进制的例子。比如,最常见的是十进制。长度单位米、分米、厘米是十进制计数单位,时间的小时、分钟、秒钟是60进制,计算机则是只识别二进制的。所谓二进制,就是只用0和1来代表不同的数值和变化的一种计数方法。值得一提的是,其实二进制的思想在我们中国古代的八卦太极图中就已经显露无疑。

c语言把二进制转化为十进制(C语言编程经典继续)(1)

至于二进制如何转十进制,举个例子,二进制的1001等于十进制的9。右边第一位位权是1,右边第一位位权是2,右边第一位位权是4,如此推出,1001=8 1=9。今天,我就给大家带来二进制转十进制的程序样例,供大家参考,欢迎评论和指教。下面附上代码。

#include<stdio.h>

int bintodeci(char *s);//函数声明

void main()

{

char s[30];

printf("请输入二进制形式的数\n");

gets(s);

printf("转换成十进制形式是:%d\n",bintodeci(s));

}

int bintodeci(char *s)

{

int res=0,sign=1,i;

char *p;

i=1;

if(*s=='-')//如果输入的是负数,则数据符号是-

{sign=-1;s ;}

p=s;

while(*p!='\0')p ;//p一直指向字符串最后的反斜杠0,只为了从右往左运算

while(p!=s)

{

p--;

res=res i*(*p-'0');

i*=2;//位权等比递增,1,2,4,8,16

}

return res*sign;//最后结果加上符号即可

}

下面是正数二进制运行结果

c语言把二进制转化为十进制(C语言编程经典继续)(2)

下面是负数二进制运行结果

c语言把二进制转化为十进制(C语言编程经典继续)(3)

今天的编程演练就到这里,有什么问题请评论区评论给我,小编会及时回复哦,谢谢亲的支持!

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页