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
|
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
void IntToBin(int n, char *Bin)
{
// divise par 2 le quotient jusqu'a le mettre a zero
// on recupere tout les reste et on les mets bout a bout dans un string
int entier=0;
char convS[2];
while(n/2!=0){
// itoa converti un int en string. strcat le demande
strcat(Bin,itoa(n%2,convS,10));
n=n/2;
if(n/2==0){
strcat(Bin,itoa(n%2,convS,10));
n=-1;
}
}
// retourne le resultat qui est noté a l'envers par la partie precedente de la fonction
char retourne [(strlen(Bin))];
int x = strlen(Bin)-1 ;
for(int i =0; i<(int)strlen(Bin);i++, x--){
retourne[x]=Bin[i];
}
memcpy(Bin, retourne, strlen(Bin));
}
int main (int argc, char* argv[]){
char binaire;
char caractere[50];
errno = 0;
printf(" Caracteres?\n");
fgets(caractere, 50, stdin);
int x =0;
while(x<(int)strlen(caractere)-1){
IntToBin(caractere[x],&binaire);
x=x+1;
}
system("PAUSE"); /* Pour la console Windows. */
return 0;
} |
Partager