Java校验和方法

时间:2015-01-11 15:49:10

标签: java checksum

所以我一直在研究校验和方法,其中我取4个二进制数并将它们转换为十进制,将它们加在一起,再次将和转换为二进制并计算校验和。这是我的代码,我不知道如何使用计算校验和的java来完成最后一部分

public static void main(String[] args) throws Exception{


        String a = "1010000001000011";
        String b = "1111100101001111";
        String c = "1111111111101110";
        String d = "1110101011111110";

        int aa = Integer.parseInt(a, 2);        
        int bb = Integer.parseInt(b,2);
        int cc = Integer.parseInt(c,2);
        int dd = Integer.parseInt(d,2);

        int f = aa + bb + cc + dd;
        StringBuffer buf =  new StringBuffer();

        while (f!=0){
            int digit = f%2;
            buf.append(digit);
            f=f/2;
        }
        buf.reverse();
}

2 个答案:

答案 0 :(得分:1)

要再次将数字转换为字符串,您可以使用Integer.toString(number, 2)。这会产生一个字符串,您可以在其上调用.hashCode()来获取它的哈希码/校验和。

编辑: 而不是Integer.toString(number, 2),您可以使用Integer.toBinaryString(number),这会更快,也更容易阅读。

答案 1 :(得分:1)

尝试方法:

//your code
...
int f = aa + bb + cc + dd;
Integer.toBinaryString(f)