- ベストアンサー
チェックサムの実装方法について
チェックサムの実装方法について データの送信で送信対象データの1バイト毎の合計とチェックサムを加算した値が0x0000になるようなPGをVB.net(バージョン問わず)で作成したいと考えています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
チェックサムの算出範囲の大きさはどの程度なのでしょう? 1Byte,2Byte,4Byte データの配列が Byte型ならば Function myNeg( arData() as Byte ) as Integer dim nSum, nNeg, n as Integer for n = 0 to arData.Length - 1 nSum = nSum and &HFF ' 1Byteでいいならば ' 2Byteならば &HFFFFとします ' 4Byteならば nSum nNegを Long型にして &HFFFFFFFF nSum += arData(n) next nNeg = &H100 - nSum ' 1Byteならば ' 2Byteならば &H10000 - nSum ' 4Byteならば &H100000000 - nSum retunr nNeg End Function といった具合でしょう
お礼
回答ありがとうございました。
補足
回答ありがとうございます。 2Byteの取得で上位バイトと下位バイトをそれぞれ、設定するには下記のようにすればいいでしょうか? Dim srtSumH As Short = (&HFF And (nNeg >> 8)) '上位バイトの取得 Dim srtSuml As Short = (&HFF And nNeg) '下位バイトの取得