两个16位流的Internet校验和的计算

时间:2018-12-13 13:19:38

标签: checksum

我想计算每个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;
    }

1 个答案:

答案 0 :(得分:1)

简短答案

不。您无需拆分它们。

需要更长的答案

不确定“ 互联网”校验和的含义(哈希或校验和只是数学运算的结果,与互联网没有直接关系或依赖性),但无论如何:

任何值的校验和都不应取决于输入的长度。从理论上讲,您的输入字符串可以是任何长度。

您可以使用基本的在线校验和生成器such as this one, for instance进行测试。似乎使用许多不同的算法会产生大量的校验和。算法名称显示在列表的左侧。

如果要用代码执行此操作,一个好的出发点可能是在您使用的任何语言/环境下使用示例之一搜索示例。