این سورس برای تبدیل عدد در مبنای 10 (Decimal) به مبنای 8 (Octal) خیلی خوب عمل می کنه . به زوی تبدیل های دیگه ای رو هم می گذارم .
نظر یادتون نره هااااااااااااااااا.
#include <stdio.h>
#define max 10
main(){
float x,t;
int a[max],s[max],tmp,i,j=0,z=0;
printf("\n Decimal --> Octal");
printf("\n\n Enter a Number(Right --> 245): ");
scanf("%d",&tmp);
printf("\n Enter a Number(Decimal --> .126): ");
scanf("%f",&x);
for(i=0;i<max && x!=0.000000;i++){
t=(float)x*8;
a=(int)t;
x=t-a;
}
while(tmp>=8){
s[j++]=tmp%8;
tmp/=8;
}
j--;
printf("\n\n Octal = %d",tmp);
for(z=j;z>=0;z--)
printf("%d",s[z]);
printf(".");
for(z=0;z<i;z++)
printf("%d",a[z]);
}
#define max 10
main(){
float x,t;
int a[max],s[max],tmp,i,j=0,z=0;
printf("\n Decimal --> Octal");
printf("\n\n Enter a Number(Right --> 245): ");
scanf("%d",&tmp);
printf("\n Enter a Number(Decimal --> .126): ");
scanf("%f",&x);
for(i=0;i<max && x!=0.000000;i++){
t=(float)x*8;
a=(int)t;
x=t-a;
}
while(tmp>=8){
s[j++]=tmp%8;
tmp/=8;
}
j--;
printf("\n\n Octal = %d",tmp);
for(z=j;z>=0;z--)
printf("%d",s[z]);
printf(".");
for(z=0;z<i;z++)
printf("%d",a[z]);
}