欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 關于C語言數組表達 計算校驗和的問題 [打印本頁]

作者: 576951469    時間: 2018-12-2 11:58
標題: 關于C語言數組表達 計算校驗和的問題
請問下壇中高手,已知一個unsigned char數組array[]={0xAB;0x BC,0xAC, 0x00, 00xe, 0x00, 0x00, 0x00, 0x00, 0x99, 0x99, 0x00, 0x00, 0x59},其中的array[3],array[4]兩個字節為長度表。array[13]為校驗和;需要怎樣才計算校驗和是否為array[13],校驗和為array[0]+array[n......]+array[13].    因為數組長度可能變化不能用一個一個相加的方式來計算。
我用
unsigned int   m,k;
k=((array[3]<<8)+array[4]);        for( m=0;m<k;m++ )        {checksum+=array[m];}
計算出來好像不對




作者: zailushang316    時間: 2018-12-2 14:37
可以先求出數組長度,然后累加,求長度:sizeof(array)/sizeof(char), 結果計算出來(求和不含最后一位)后再做以下操作:checksum%100+checksum/100=0x59了,如果你數據給的沒問題的話。
作者: 576951469    時間: 2018-12-2 16:12
zailushang316 發表于 2018-12-2 14:37
可以先求出數組長度,然后累加,求長度:sizeof(array)/sizeof(char), 結果計算出來(求和不含最后一位)后 ...

謝謝你的回答,你說的求和不包含最后一位提醒了我,上邊的計算把最后一位包含進去了,再次謝謝




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1