16 ビット チェックサムを実行するために C++ でコードを作成する際に助けが必要です。
アイデアは、ユーザーからデータ入力 (文字列) を取得し、それをバイナリ形式に変換してから、チェックサムを計算してデータ パケットに入れることです。チェックサム タイプの指定はありません... 16 ビットを XOR するのが良い考えだと思いました。次のクラス パケットが指定されています。
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();
};
上記を考慮して、ここでチェックサムを計算する必要があります。
packet::packet(string str, unsigned int seq)
{
this->message = str;
this->seqNum = seq;
// calculate checksum here
checksum = calculateChecksum(); //HOW TO CODE THIS FUNCTION?
}
助けてください。私はC++とCが初めてです。