我們知道,現實生活中,有很多有關進制的例子。比如,最常見的是十進制。長度單位米、分米、厘米是十進制計數單位,時間的小時、分鐘、秒鐘是60進制,計算機則是隻識别二進制的。所謂二進制,就是隻用0和1來代表不同的數值和變化的一種計數方法。值得一提的是,其實二進制的思想在我們中國古代的八卦太極圖中就已經顯露無疑。
#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;//最後結果加上符号即可
}
下面是正數二進制運行結果
下面是負數二進制運行結果
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!