【iOS版アプリ】不具合のお知らせ

チェックサムの実装方法について
データの送信で送信対象データの1バイト毎の合計とチェックサムを加算した値が0x0000になるようなPGをVB.net(バージョン問わず)で作成したいと考えています。

gooドクター

A 回答 (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) '下位バイトの取得

補足日時:2010/11/05 09:36
    • good
    • 0
この回答へのお礼

回答ありがとうございました。

お礼日時:2010/12/19 23:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

人気Q&Aランキング