Calcul de CRC
pizza6
Messages postés
5
Statut
Membre
-
Ravachol Messages postés 568 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.
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
-
Il suffit de prendre la valeur en binaire du code ASCII de chaque caractère.
http://sebsauvage.net/comprendre/ascii/index.html -
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!! -
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 -
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