コードは 2 進数を 10 進数に変換する必要がありますが、そうではありません。誰でも私が間違っていた可能性がある場所を確認してください。
#include <stdio.h>
#include <math.h>
#include <string.h>
int main()
{
char s[40];
int base;
int index,n,p,sum=0; /* n is the number of digits in the converted value */
printf("enter the number and base: ");
scanf("%s %d",s,&base);
for(n=strlen(s)-1;n>=0;n--)
{
p=strlen(s);
for(index=strlen(s)-(p-1); index<=p; index++)
{
sum += s[index] * pow(base,n);
}
}
printf("decimal no. is %d",sum);
printf("\n");
}
出力::
enter the number and base:1011
2
10 進数 1487年です