Calcul de CRC

Fermé
pizza6 Messages postés 5 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 23 novembre 2007 - 1 juil. 2004 à 08:22
Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 - 1 juil. 2004 à 17:50
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

sebsauvage Messages postés 32847 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 656
1 juil. 2004 à 09:04
Il suffit de prendre la valeur en binaire du code ASCII de chaque caractère.

http://sebsauvage.net/comprendre/ascii/index.html
0
pizza6 Messages postés 5 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 23 novembre 2007 3
1 juil. 2004 à 10:30
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
pi€rre Messages postés 76 Date d'inscription mercredi 9 juin 2004 Statut Membre Dernière intervention 13 octobre 2005
1 juil. 2004 à 17:11
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
Ravachol Messages postés 560 Date d'inscription vendredi 5 mars 2004 Statut Membre Dernière intervention 30 octobre 2005 119
1 juil. 2004 à 17:50
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