我想计算每个16位的两个位流的Internet校验和。我是否需要将这些字符串分成多个部分,或者可以直接将两者相加?
以下是字符串:
double determinant(double mat[N][N], int n)
{
double D = 0; // Initialize result
// Base case : if matrix contains single element
if (n == 1)
return mat[0][0];
double temp[N][N]; // To store cofactors
int sign = 1; // To store sign multiplier
// Iterate for each element of first row
for (int f = 0; f < n; f++)
{
// Getting Cofactor of mat[0][f]
getCofactor(mat, temp, 0, f, n); //ERORRRRRRRRRRR
D += sign * mat[0][f] * determinant(temp, n - 1);
// terms are to be added with alternate sign
sign = -sign;
}
return D;
}
答案 0 :(得分:1)
简短答案
不。您无需拆分它们。
需要更长的答案
不确定“ 互联网”校验和的含义(哈希或校验和只是数学运算的结果,与互联网没有直接关系或依赖性),但无论如何:
任何值的校验和都不应取决于输入的长度。从理论上讲,您的输入字符串可以是任何长度。
您可以使用基本的在线校验和生成器such as this one, for instance进行测试。似乎使用许多不同的算法会产生大量的校验和。算法名称显示在列表的左侧。
如果要用代码执行此操作,一个好的出发点可能是在您使用的任何语言/环境下使用示例之一搜索示例。