龙空技术网

C语言编程经典继续——二进制转十进制

逸凡网络 468

前言:

此时各位老铁们对“c语言二进制转换十进制方法是什么意思”大致比较珍视,各位老铁们都想要了解一些“c语言二进制转换十进制方法是什么意思”的相关资讯。那么小编也在网络上收集了一些对于“c语言二进制转换十进制方法是什么意思””的相关内容,希望你们能喜欢,兄弟们一起来了解一下吧!

我们知道,现实生活中,有很多有关进制的例子。比如,最常见的是十进制。长度单位米、分米、厘米是十进制计数单位,时间的小时、分钟、秒钟是60进制,计算机则是只识别二进制的。所谓二进制,就是只用0和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语言二进制转换十进制方法是什么意思