Checksum Algorithm (核对和演算法)

这里只列出Checksum其中一种Sum Zero,我公司有使用到的方法。
还在学习中,如有错误,还请不吝啬提出,确认后将尽快更正。

产生Checksum

Checksum 的产生机制很简单,将资料分成 K 小块之后,将每块的所有值全部相加之后得到一个数字,再取其「二补数」,就可以得到 Checksum。

检查Checksum

Checksum 的检查机制则是将所有收到的 K 个小块中所有值相加再加上 Checksum 后,再取其「二补数」,若结果为 0 则表示正确,不为 0 则表示传输中有发生错误。

产生Checksum - 範例

http://img2.58codes.com/2024/20124031HyKIwjliCI.png
有一组16进位制数值资料: 0x6A00C8

Bytecheck组成元素0x6A0x6A= 0x00 + 0x6A0x000x6A= 0x6A + 0x000xC80x32= 0x6A + 0xC8
checkSum = 0xCE // 0x32在8进位制下的二补数

解释

0x6A + 0xC8应该会得到 0x132,但是data typechar,限制在1 byte之下,只会保留0x32的数值

fx-991ES辅助计算二补数

如果有fx-991ES工程计算机

(ON)开机后,按下(MODE),再按下数字(4),切换模式到(BASE-N)按下(X^■)键(上方带有绿色HEX),切换到16进位制模式按下(SHIFT),再按下数字(3)[BASE],再按下数字(6),呼叫Neg按下数字(3)、数字(2),画面应该会显示Neg(32按下(=),开始计算结果会显示FFFFFFCE8进位制下,只会保留最右边的2位数,也就是CE

参考资料

核对和 - 维基百科,自由的百科全书二补数 - 维基百科,自由的百科全书[笔记] 网路通讯原理:CRC 与 Checksum | iLog42. 使用checksum检查机制,判断接收的资料为正确,则checksum与..-阿摩线上测验Online CRC-8 CRC-16 CRC-32 Calculatorfx-991ES 工程计算机 官方说明书

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章