<p>我在Python中有一个校验和函数:</p>
<pre><code>def checksum(data):
a = b = 0
l = len(data)
for i in range(l):
a += ord(data[i])
b += (l - i)*ord(data[i])
return (b << 16) | a, a, b
</code></pre>
<p>我正试图连接到一个C模块以提高速度。以下是C函数:</p>
^{pr2}$
<p>我通过打开一个文件并输入4096个数据块来使用它。对于小字符串,它们都返回相同的值,但是当我直接从文件中输入二进制数据时,C版本返回的值大不相同。任何帮助都将不胜感激。在</p>