Навчальна програма переведення дійсних чисел з 2,8,10,16 у 2,8,10,16 системи числення
else if(strcmp(triada[j],"1101")==0) strcat(out,"D");
else if(strcmp(triada[j],"1110")==0) strcat(out,"E");
else if(strcmp(triada[j],"1111")==0) strcat(out,"F");
}
}
//функція переведення з 8 системи у 10, обробляє вхідний рядок char *in і
//записує результат у вихідний рядок char *out
void Oct2Dec(char *in,char *out)
{int i,minus=0,dot=0;
char * p;
double x=0;
if(strchr(in,'-')!=NULL) minus=1;
if(strchr(in,'.')!=NULL) dot=1;
if(minus==0&&dot==0)
for(i=strlen(in);i>=0;i--)
{switch(in[i])
{case '1': x+=1*pow(8,strlen(in)-i-1); break;
case '2': x+=2*pow(8,strlen(in)-i-1); break;
case '3': x+=3*pow(8,strlen(in)-i-1); break;
case '4': x+=4*pow(8,strlen(in)-i-1); break;
case '5': x+=5*pow(8,strlen(in)-i-1); break;
case '6': x+=6*pow(8,strlen(in)-i-1); break;
case '7': x+=7*pow(8,strlen(in)-i-1); break;
case '0': x+=0*pow(8,strlen(in)-i-1); break;
default : strcpy(out,"Error"); break;