Ecrire des '0' et des '1' au lieu des 0 et des 1 serait en effet une méthode très pratique pour lire facilement le fichier. jacklafrip devrait être rebaptisé jacklafouine
Si ça te pose soucis pour la suite, tu n'as pas 36 solutions. Soit tu trouves un logiciel capable de faire un bindump (comme il y a des hexdump pour afficher les hexa, un bindump pour affichier les valeurs binaires). Soit tu le codes toi même. C'est simple et un bon exercice.
comment je dois faire car je ne vois pas trop comment sélectionner les valeurs du fichier binaire pour les transformer, ni d'ailleurs comment les transformer en C
Et bien il va falloir se creuser un peu les méninges ! La première chose à faire est une fonction à laquelle tu passes un octet (un unsigned char) en paramètre et qui affiche les bits contenus dans cet octet. La seconde est de faire une fonction lisant un fichier octet par octet pour les afficher avec la première fonction.
Comment extraire les bits qui t'intéressent d'un octet ? Avec les opérateurs binaires pardi ! Execute cette instruction pour voir :
printf("%d %d %d", 3 & 1, 3 & 2, 3 >> 1);
Maintenant, une petite boucle FOR, un masque pour ne garder qu'un seul bit, des décalages pour avoir un nombre valant 0 ou 1, et un affichage. Le tour est joué !
Partager