c - 8位取模256如何得到校验和?

标签 c modulo

我正在做一个校验和程序,我已经有了一个示例答案,但无法得到正确的答案。该程序应该计算文件的校验和。这是我理解如何计算校验和的方式。

文件有 11 个字符 10 个 A 和一个换行符。据我了解,我必须添加数组中的所有字节,即 11 个字节。做 11 % 256,然后 256-(11 % 256)。那等于 245。

答案应该是 294 十六进制剥离是 94。我哪里错了?

看看这个答案 https://www.scadacore.com/tools/programming-calculators/online-checksum-calculator/

最佳答案

您不是在累加字节数,而是在计算字节数。

算法如下:

10 * 65 = 650 // 10 A's

650 + 10 = 660 // + newline

660 % 256 = 148 // mod 256

148 = 0x94 // in hex

关于c - 8位取模256如何得到校验和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49825888/

相关文章:

c++ - 当 main 在另一个文件中时出现编译错误(g++、bison、flex)

c - mmap 的指针算法

gcc - C/C++编译器(例如GCC)是否通常以2的幂次幂来优化模数?

c++ - Qt C++ 模运算符失败

javascript - 通过负索引访问数组元素

c - 在多线程程序中访问文件指针时出错

c++ - 如何在 Linux 中使用它的相对路径打开文件?

c - 关于 GRUB 的 main() 的查询

python - 在 python 中每 5 分钟运行一次与系统时钟同步的函数的最佳方法是什么?

c - 具有字节数组和 8 位整数的模算法 : 8bit = bytes % 8bit