Calcul de CRC

pizza6 Messages postés 5 Statut Membre -  
Ravachol Messages postés 568 Statut Membre -
Bonjour,

J'ai un petit soucis dans mon calcul de CRC-32
Pour coder un message avec l'algorithme du CRC, il faut au départ un message codé en binaire type : "10010010100010000"
Cependant, je ne sais pas comment on obtient ce type de message à partir d'une chaine de caractère type : " e" ou "abc"
Si quelqu'un peut m'aider!
Merci
Julien Mellano.

4 réponses

  1. pizza6 Messages postés 5 Statut Membre 3
     
    C'est ce que j'ai fait, mais ca ne marche pas!
    par exemple pour "e" le code ASCII est 101
    je multiplie ce nombre par 2^32 pour fair le décalage et ensuite je prend le reste de la division de ce nombre par mon polynome generateur.
    J'obtiens pas du tout le bon nombre!!
    0
  2. pi€rre Messages postés 76 Statut Membre
     
    pour faire passer ton entier X en binaire tu peux faire:
    X diviser par 2, le reste de la division est le dernier bit, et tu recommence avec le resultat de la division :
    10/2
    il reste0
    le resultat: 5
    5/2
    il reste 1
    le resultat : 2
    2/2
    il reste 0
    resultat 1
    1/2
    il rest 1
    resultat 0
    donc 10 correspond a 1010

    La vie est belle et c'est tant mieux
    0
  3. Ravachol Messages postés 568 Statut Membre 120
     
    Salut,
    j'ai codé ceci il y a quelque temps en Delphi (langage Pascal)
    Tu devrais pouvoir aisément l'adapter à un autre langage

    function DecBin(Valeur : int64):String;
    var
    	i: byte;
    begin
    	Result:='';
    	for i:=31 downto 0 do
    		Result:=Result+IntToStr(Ord(Valeur and(1 shl i)=1 shl i));
    end;
    


    A++

    La pensée ne commence qu'avec le doute.
    ROGER MARTIN DU GARD
    0