IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Compression Algo Huffman


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 33
    Points : 14
    Points
    14
    Par défaut Compression Algo Huffman
    Bonsoir ,
    je suis entrain de d’implémenter la compression d'un fichier texte à l'aide d'algo Huffman. après avoir construire l'arbre de huffman et dégager le code associé à chaque caractère c quoi l'étpe suivante ? et comment écrire en mémoire bit à bit?

  2. #2
    Inactif  


    Homme Profil pro
    Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Inscrit en
    Décembre 2011
    Messages
    9 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Doctorant sécurité informatique — Diplômé master Droit/Économie/Gestion
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9 012
    Points : 23 145
    Points
    23 145
    Par défaut
    Bonjour,

    On ne peut écrire en mémoire que octet par octet minimum.
    Par contre tu peux utiliser des mask pour ne modifier qu'un bit :

    Mettre un bit à 1 : variable |= 0x04.
    Mettre un bit à 0 : variable &= 0xFE.
    Tu as aussi des opérateurs de décalages de bits : 1 << 5 décale de 5 bits "vers la gauche", on obtient donc 32.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Ensuite, on cumule les opérateurs bit-à-bit avec les opérateurs de décalage:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    #include <limits.h>
     
    void SetBit(unsigned char *tableau, size_t indexBit, int valeur)
    {
    	size_t indexByte = indexBit/CHAR_BIT, offsetBit=indexBit%CHAR_BIT;
    	unsigned char valeurBit;
     
    	/*Note: Je soustrais de CHAR_BIT pour indexer à partir du poids fort;
    	ça rend mieux quand on affiche des bytes consécutifs en binaire.*/
    	valeurBit = 1 << (CHAR_BIT - offsetBit -1);
     
    	if(valeur)
    		tableau[indexByte] |= valeurBit;
    	else
    		tableau[indexByte] &= ~valeurBit;
    }
    Après, pour écrire, il te suffit d'appeler SetBit() en incrémentant l'index à chaque fois.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [À télécharger] Compression de Huffman (HCD)
    Par pottiez dans le forum Téléchargez
    Réponses: 0
    Dernier message: 14/11/2010, 15h18
  2. Algo huffman semi adaptative et adaptative
    Par lili78 dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 15/04/2010, 14h25
  3. [Huffman|JAR] Compression de Huffman dans un jar => Ca sert à rien !
    Par ryosnake dans le forum Algorithmes et structures de données
    Réponses: 7
    Dernier message: 12/02/2009, 17h29
  4. Algorithme de compression de Huffman, extention pour tout n.
    Par born_to_eat dans le forum Algorithmes et structures de données
    Réponses: 5
    Dernier message: 30/10/2008, 15h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo