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
| /*le probleme qui rest est:
Puisque il existe des caracrteres qui ont des
codes ASCII négatif (EXEMPLE: é a -126 comme code ASCII),
Alors comment faire pour convertir les entiers négatifs
en binaire?*/
#include<stdio.h>
#include<stdlib.h>
main()
{
int a,*l,b,i,j,k,aide,stok;
l=(int*)malloc(sizeof(int));
printf("\t------------------------------------------------------------------------\n");
printf("\tNB:Pour l'instant ce Programme est vrai juste pour les entiers positifs\n\n");
printf("\t------------------------------------------------------------------------\n");
do{
printf("Entrez le nombre a converti en binaire: ");
scanf("%d",&a);
if(a<0)
printf(" Lisez bien la remarque en haut. Merci\n\n\n");
}while(a<0);
stok=a;
i=-1;
do
{
i++;
l[i]=a%2;printf("i=%d\n\tl[%d]=%d avec a=%d\n",i,i,*(l+i),a);
b=a/2;printf("\tb=a/2=%d\n",b);
a=b;printf("\tle Nouveau a est:%d\n",a);
printf("-------------\n\n");
}while(b);
j=i;
printf("----------------------------------------\n");
for(j=0,k=i;j<k;j++,k--)
{
aide=*(l+j);
*(l+j)=*(l+k);
*(l+k)=aide;
}
printf("%d en decimal(base 10) est egale a ",stok);
printf("(");
for(j=0;j<=i;j++)
printf("%d",*(l+j));
printf(")");
printf(" en binaire(base 2).\n\n\t\t\t");
return 0;
} |
Partager