Lecture du bit de poids faible dans un fichier bmp
Fermé
lemarseillais_13
Messages postés
9
Date d'inscription
mercredi 16 décembre 2020
Statut
Membre
Dernière intervention
4 décembre 2021
-
Modifié le 4 déc. 2021 à 15:00
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 5 déc. 2021 à 01:29
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 5 déc. 2021 à 01:29
A voir également:
- Lecture du bit de poids faible dans un fichier bmp
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Impossible de supprimer un fichier - Guide
3 réponses
yg_be
Messages postés
23406
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 décembre 2024
Ambassadeur
1 557
4 déc. 2021 à 16:11
4 déc. 2021 à 16:11
bonjour,
pour réaliser cela, j'utiliserais des opérateurs de ces catégories:
https://forums.commentcamarche.net/forum/affich-37622077-langage-c-les-operateurs#les-operateurs-bit-a-bit
https://forums.commentcamarche.net/forum/affich-37622077-langage-c-les-operateurs#les-operateurs-de-decalage-de-bit
pour réaliser cela, j'utiliserais des opérateurs de ces catégories:
https://forums.commentcamarche.net/forum/affich-37622077-langage-c-les-operateurs#les-operateurs-bit-a-bit
https://forums.commentcamarche.net/forum/affich-37622077-langage-c-les-operateurs#les-operateurs-de-decalage-de-bit
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
Modifié le 4 déc. 2021 à 18:36
Modifié le 4 déc. 2021 à 18:36
Bonjour,
Tu n'indiques pas ce que tu attends dans le fichier destination. Deux bits ça n'est pas un format. La destination devrait recevoir du texte ou des octets.
Un exemple où les 2 bits deviennent les textes "00", "01", "10" ou "11":
Tu n'indiques pas ce que tu attends dans le fichier destination. Deux bits ça n'est pas un format. La destination devrait recevoir du texte ou des octets.
Un exemple où les 2 bits deviennent les textes "00", "01", "10" ou "11":
while ( ( buffer = fgetc( fichier ) ) != EOF ) { static const char* const cnv[] = { "00", "01", "10", "11"}; fprintf( fichierBit , "%s", cnv[buffer&3] ); }
yg_be
Messages postés
23406
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 décembre 2024
1 557
4 déc. 2021 à 18:41
4 déc. 2021 à 18:41
D'après ce que j'ai compris, le but est d'écrire une séquence de bits dans le fichier de destination, 1 bit pour chaque octet du fichier d'entrée.
Cela serait utile dans le cas d'un travail scolaire de stéganographie, par exemple, au décodage.
Cela serait utile dans le cas d'un travail scolaire de stéganographie, par exemple, au décodage.
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
5 déc. 2021 à 01:29
5 déc. 2021 à 01:29
Salut à tous,
yg_be a donné tous les éléments de réponse. Avec un masque adéquat, on peut utiliser & pour extraire un ou plusieurs bits et | pour appliquer un ou plusieurs bits. Le décalage vers la gauche pourra être utilisé pour simplifier l'écriture des bits en écrivant sur celui de poids faible et en décalant de une position pour laisser la place au bit suivant traité.
J'ajouterai qu'il te faudra traiter 8 char pour récupérer 8 bits et reconstituer un char avant de penser à écrire dans le fichier.
Aussi, on peut remarquer que si c'est le bit de poids faible qui intéresse lemarseillais_13 il peut aussi déterminer si le chiffre est pair ou impair.
S'il est pair ce bit sera à 0, si impair il sera à 1.
Si c'est un exercice, il est cependant probable que le PO doive montrer qu'il sait utiliser les opérateurs bit à bit :-)
Dal
yg_be a donné tous les éléments de réponse. Avec un masque adéquat, on peut utiliser & pour extraire un ou plusieurs bits et | pour appliquer un ou plusieurs bits. Le décalage vers la gauche pourra être utilisé pour simplifier l'écriture des bits en écrivant sur celui de poids faible et en décalant de une position pour laisser la place au bit suivant traité.
J'ajouterai qu'il te faudra traiter 8 char pour récupérer 8 bits et reconstituer un char avant de penser à écrire dans le fichier.
Aussi, on peut remarquer que si c'est le bit de poids faible qui intéresse lemarseillais_13 il peut aussi déterminer si le chiffre est pair ou impair.
S'il est pair ce bit sera à 0, si impair il sera à 1.
Si c'est un exercice, il est cependant probable que le PO doive montrer qu'il sait utiliser les opérateurs bit à bit :-)
Dal