所以我一直在研究校验和方法,其中我取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();
}
答案 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)