这是我写的可以讲任意进制数转化为十进制的
#include
using namespace std;
int Multiply(int a,int b)
{
int aa=a;
if(b== 1) return 1;
else if(b== 2) return a;
for(int i=0;i<(b-2);++i)
{
a*=aa;
}
return a;
}
int main(int argc,char **argv)
{
while(1)
{
cout<<"请输入数字:";
char szInput[128];
cin>>szInput;
cout<<"数字的进制数:";
int i;
cin>>i;
int sum=0;
int k=0;
for(int j=strlen(szInput);j>0,k { int dwInputbit=0; memcpy(&dwInputbit,&(szInput[k]),1); dwInputbit-=48; sum+=(Multiply(i,j)*dwInputbit); } cout<<"对应的十进制数为:"< } return 0; } 运行
for(;x>=(pow(10,n));n++); 这个是无限循环把
//处应该是pow(10,n)
#include
#include
int main()
{
int n=0,k,s=0,x;
scanf("%i",&x);
for(;x>=(pow(10,n));n++);
for(;n>=0;n--)
{
k=x/(pow(10,n));
//
x=x-k*(pow(10,n));
s=s+k*(pow(8,n));
}
printf("%i",s);
}