#include
#include
#include
#include
int main()
{
float number=0;
int intager_half=0,powering=0, belew_zero_saver=1;
float fractional_half=0, number_dec=0;
start:
intager_half=0,powering=0, belew_zero_saver=1;
fractional_half=0, number_dec=0;
printf("Give me number in 8 system: ");
scanf("%f",&number);
if(number<0){
number*=-1;
belew_zero_saver=-1;
}
intager_half=number;
fractional_half=number-intager_half;
while(1){
if(intager_half%10>=8){
printf("Not supported number in octal system\n");
goto start;
}
number_dec+=intager_half%10*pow(8,powering);
intager_half/=10;
if(intager_half==0){
break;
}
powering++;
}
powering=-1;
for(int i=0;i<6;i++){
// printf("%i\t\t%f\n",(int)(fractional_half*10),fractional_half);
if((int)(fractional_half*10)>=8){
printf("Not supported number in octal system\n");
goto start;
}
number_dec+=(int)(fractional_half*10)*pow(8,powering);
fractional_half=fractional_half*10-(int)(fractional_half*10);
if(fractional_half==0){
break;
}
powering--;
if(fractional_half>0.9){
fractional_half=0;
}
}
printf("%f\n\n",number_dec*belew_zero_saver);
goto start;
return 0;
}