前言:
此时各位老铁们对“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语言二进制转换十进制方法是什么意思