Calcul de Checksum

Discutez d'informatique ici !
kt_Sys
Messages: 2
Enregistré le: 10 Mai 2007, 13:54

Calcul de Checksum

par kt_Sys » 10 Mai 2007, 15:05

Bonjour,

je doit calcul le chk d'un tableau de BYTE.
Ce chk ce calcule : chk = Xor body avec body = un certain nb d'octet selon la trame.

un exemple pour la trame :
84, 00, 00, 00, 1B, 83, 01, 00, 01, 09, 00, 00, 00, 05

je doit obtenir chk = 8b

j'ai essayer plusieurs solution dont celle ci mais ca ne marche pas

char chk = 0;

for (int i = 1; i< nbByte; i++)
{
chk += (chk ^ m_Message[i]);
}

et si j'enlève le + (chk = (chk ^ m_Message[i])) sa ne marche pas non plus

merci



Sdec25
Membre Irrationnel
Messages: 1002
Enregistré le: 17 Juin 2006, 00:24

par Sdec25 » 10 Mai 2007, 16:34

Bonjour.
Xor body ça veut dire quoi ?
kt_Sys a écrit:chk = Xor body

kt_Sys
Messages: 2
Enregistré le: 10 Mai 2007, 13:54

par kt_Sys » 10 Mai 2007, 16:58

sa veut dire qu'il faut faire un ou exclusif avect tous les carac contenu ds body

ds ce cas il faut faire un ou exclusif avec84, 00, 00, 00, 1B, 83, 01, 00, 01, 09, 00, 00, 00, 05 et on devrait tomber sur 8b

seulement avec ma méthode sa ne marche pas

Sdec25
Membre Irrationnel
Messages: 1002
Enregistré le: 17 Juin 2006, 00:24

par Sdec25 » 10 Mai 2007, 17:22

kt_Sys a écrit:sa veut dire qu'il faut faire un ou exclusif avect tous les carac contenu ds body

Je connais le XOR avec 2 bits, mais si sur n bits tu fais une addition de chaque bit sans retenue (ex : 1+1+1 = 1), alors le résultat ne peut pas être 8b (b est impair alors que 4+b+3+1+1+9+5 est pair).

Donc dis-moi plus clairement ce que tu veux faire.

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 6 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite