java - 该方法添加 mod 2^512

标签 java methods add modulo

它是对 2^512 求模。你能解释一下为什么我们在这里做 >>8 然后 &oxFF 吗? 我知道我数学不好。

int AddModulo512(int []a, int []b)
{
    int i = 0, t = 0;
    int [] result = new int [a.length];
    for(i = 63; i >= 0; i--)
    {
        t = (a[i]) + (int) (b[i]) + (t >> 8);
        result[i] = (t & 0xFF);    //?
    }
    return result;
}

最佳答案

整数右移 (>>) 的数学效果是除以二(截断任何余数)。通过右移 8 次,除以 2^8,即 256。

带0xFF的按位&表示结果将被限制在第一个字节,或者0-255的范围内。

不确定为什么它在实际除以 256 时引用模 512。

关于java - 该方法添加 mod 2^512,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29994931/

相关文章:

java - 验证 (PDF/PKI) 签名的必要步骤

java java.io.FileNotFoundException : ‪D:\qr. jpg(文件名、目录名或卷标语法不正确)

java - 为什么我们不能用私有(private)扩展类方法覆盖基类方法?

c# - 将两个 DateTime 对象相加

xslt - XSLT XPath正确的语法,用于将元素添加到先前的同级

java - 奇怪的排序行为

java - 如何使用 spring 注入(inject)或 Autowiring Class 类型?

java - JAVA中的静态方法是否创建单个实例?

java - 使用覆盖方法

Debian 上的 Ubuntu 存储库