校验和的十六进制计算

Fer*_*dré 1 math hex

我不明白这个结果如何为零.这个呈现给我的例子是验证消息的校验和.

ED(12+01+ED=0)
Run Code Online (Sandbox Code Playgroud)

这个结果怎么可能为零?

"1201是消息"ED是校验和,我的问题更多,我如何确定校验和?

感谢您的任何帮助.

最好的问候,FR

aio*_*obe 7

这个结果怎么可能为零?

校验和可能由一个字节表示.

一个字节可以存储256个不同的值,因此计算可能是模块256完成的.

由于0x12 + 0x01 + 0xED = 256,结果变为0.

我该如何确定校验和?

校验和是特定的字节值B,它使消息中的字节总和+ B= 0(模256).

所以,正如@LanceH在评论中所说,要弄清楚校验和B,你......

  1. 将消息中的字节值加起来(比如它加起来M)
  2. 计算 M' = M % 256
  3. 现在,校验和B计算为256 - M'.