#include <string.h>
int main()
{
int base[16], len, i, res;
char buffer[16+1];
base[0]=1;
for(i=1; i<16; i++) base[i]=base[i-1]*2;
printf("輸入二進制數(必須為連續的0/1序列):");
gets(buffer);
len=strlen(buffer);
printf("%s\n", buffer);
for(i=0; i<len&buffer[i]>='0'&buffer[i]<='1';i++);
if(i==len)
{
res=0;
for(i=0;i<len;i++)
{
res+=base[len-i-1]*(buffer[i]-'0');
}
printf("其十進制值為:%d\n", res);
}
else
{
printf("輸入有錯。\n");
}
}