Somme de contrôle en C++

J'ai besoin d'aide avec l'écriture d'un code en C++ pour faire un 16 bits de la somme de contrôle.

L'idée est de récupérer les données d'entrée de l'utilisateur (une chaîne), de les convertir en binaire, puis calculer la somme de contrôle et la mettre dans mon paquet de données. Je n'ai pas de somme de contrôle type de spécification... j'ai pensé XORing les 16 bits serait une bonne idée. J'ai la classe suivante paquet de donnée:

class packet
{
private:
    string message;
    unsigned int checksum;  //this is a 16 bit checksum
    unsigned int seqNum;

public:
    packet(string str, unsigned int seq);
    void setMessage(string str);
    void setSeqNum(unsigned int num);
    string getMessage();
    int getLength();
    unsigned int calculateChecksum();
    int getChecksum();
    bool getSeqNum();
};

- Je calculer mon checksum ici, compte tenu de ce qui précède:

packet::packet(string str, unsigned int seq)
{
    this->message = str;
    this->seqNum = seq;
    //calculate checksum here
    checksum = calculateChecksum(); //HOW TO CODE THIS FUNCTION?
}

S'il vous plaît aider. Je suis novice en C++ et C.

  • Voir fletcher de la somme de contrôle.
InformationsquelleAutor user899714 | 2013-11-06