復制代碼 代碼如下:
#include<stdio.h>
#include<math.h>
int change(int n,int *sum,int *m)//n為第n位,m總位數
{
char c;
if(c!='#')
{
*m=*m+1;
change(n+1,sum,m);
}
if(c=='#')
{
return *sum=int(*sum+pow(2,*m-n));
}
}
void main()
{
char c;
int n=0,*sum=0,*m=0;
printf("請輸入二進制數(‘#'開始與結束):");
scanf("%c",c);
int t=change(n,*sum,*m);
printf("轉化成十進制的數字為:%d",t);
}</math.h></stdio.h>