1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int expo (int a,int b);
int main(void)
{
int i,j,x;
int resultat[16];
int k=16;
printf("entrer un octal :");
scanf("%o",&i);
j=(int)i;
printf("\nconversion decimal :%d",j);
while (k>=0)
{
if (expo(2,k)>j)
{
resultat[k]=0;
printf("\n k=%d\t res=%d",expo(2,k),resultat[k]);
}
else
{
resultat[k]=1;
printf("\n k=%d\t res=%d",expo(2,k),resultat[k]);
j=j-expo(2,k);
}
k=k-1;
}
printf("\n\n");
for(x=15;x>=0;x--)
{
printf("%d",resultat[x]);
}
getchar();
getchar();
return 0;
}
int expo (int a,int b)
{
int i=b;
int j=a;
if (b==0) return 1;
while (i>1)
{
j=j*a;
i--;
}
return j;
} |