Comparer le bit actuel et le bit précédent d'un fichier
Résolu
kowalskic2
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
kowalskic2 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
kowalskic2 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Salut à tous, tout est dans le titre. J’ai le code suivant :
donc ce que je cherche à faire, c’est de pouvoir comparer le bit actuel avec le bit précédent du début jusqu'à la fin du fichier pFile. En clair si j’ai deux octets codé sur 8bits chacun et qui se suivent, du genre :
11011001 et 01100111, de lettre respective abcdefgh et ijklmnop. J’aimerais pouvoir comparer le bit ‘a’ avec le bit ‘b’ puis le bit ‘b’ avec le bit ‘c’ ensuite le bit ‘c’ avec le bit ‘d’ et ainsi de suite jusqu'à la fin du fichier. je ne sais pas si un sujet similaire à déjà été posé dans le forum,mais si quelqu’un a une idée, je prends. Merci.
While (fread(&octetActu,1,sizeof(octetActu),pFile)!=0) { for(k=0;k<8;k++) {j=(octetActu<<k)&128; printf("%02x",j); if(j!=j) {printf("j");} else{printf("jj");}} }
donc ce que je cherche à faire, c’est de pouvoir comparer le bit actuel avec le bit précédent du début jusqu'à la fin du fichier pFile. En clair si j’ai deux octets codé sur 8bits chacun et qui se suivent, du genre :
11011001 et 01100111, de lettre respective abcdefgh et ijklmnop. J’aimerais pouvoir comparer le bit ‘a’ avec le bit ‘b’ puis le bit ‘b’ avec le bit ‘c’ ensuite le bit ‘c’ avec le bit ‘d’ et ainsi de suite jusqu'à la fin du fichier. je ne sais pas si un sujet similaire à déjà été posé dans le forum,mais si quelqu’un a une idée, je prends. Merci.
A voir également:
- Comparer le bit actuel et le bit précédent d'un fichier
- Winrar 64 bit - Télécharger - Compression & Décompression
- Power iso 32 bit - Télécharger - Gravure
- Fichier bin - Guide
- Cle windows 10 professional 64 bit gratuit - Guide
- Comment réduire la taille d'un fichier - Guide
3 réponses
Ligne 6, comparer j à j n'est certainement ce que tu veux, il faut comparer le nouveau j au j lu précédemment.
int jprec = -1; while (fread(&octetActu,1,sizeof octetActu,pFile)>0) { for ( int k = 0 ; k < 8 ; k++ ) { int j = (octetActu<<k) & 128; printf("%02x",j); if ( j != jprec ) printf("j"); else printf("jj"); jprec = j; } }
Grand merci dalfab, ton code fonctionne apart qu'il compare le premier bit du fichier avec "jprec" avant de continuer. toutefois pour récapituler, jprec=-1 représente le bit précédemment lu, "j=jprec" met le bit actuel à la place du bit précédent afin de la comparer au bit suivant. es-ce bien cela?
pour éviter la première comparaison inutile, que tu faisais déjà dans ton code de départ:
int jprec = -1; while (fread(&octetActu,1,sizeof octetActu,pFile)>0) { for ( int k = 0 ; k < 8 ; k++ ) { int j = (octetActu<<k) & 128; printf("%02x",j); if jprec != -1) if ( j != jprec ) printf("j"); else printf("jj"); jprec = j; } }