Algorithm 难以理解校验和算法

Algorithm 难以理解校验和算法,algorithm,encoding,binary,hex,checksum,Algorithm,Encoding,Binary,Hex,Checksum,我正在使用HxD检查一个.d2s文件,该文件允许我查看该文件的未编码字节 该文件大约有900多个字节 字节12到15是校验和 计算校验和的算法如下所示: sum = (sum << 1) + data[i]; sum=(sum您正在计算的值需要被截断,或者被包装在uint32上。您是正确的,就像与x2相乘一样,您将得到一个非常大的数字,并且您将得到溢出(更多:)。不用担心。校验和仍然是正确的。使用您的算法,无论文件有多大,您仍然会得到uint32大小。“环绕uint32”是什么意思

我正在使用HxD检查一个.d2s文件,该文件允许我查看该文件的未编码字节

该文件大约有900多个字节

字节12到15是校验和

计算校验和的算法如下所示:

sum = (sum << 1) + data[i];

sum=(sum您正在计算的值需要被截断,或者被包装在uint32上。您是正确的,就像与x2相乘一样,您将得到一个非常大的数字,并且您将得到溢出(更多:)。不用担心。校验和仍然是正确的。使用您的算法,无论文件有多大,您仍然会得到uint32大小。“环绕uint32”是什么意思?在JavaScript术语中,
checksum=((校验和只有16位,32位将
0xFFFFFFFF