在使用SimHash比对相似度时候,可以将Biginteger转为二进制字符串,然后将64位(或者128位具体看simhash的指纹长度)二进制切分若干份(分几个桶),距离相近的前几份值基本相等,可以节省比较相似度的时间。

1
2
System.out.println(new BigInteger("15339927031248316590", 10).toString(2));
System.out.println("1101010011100010010111100101110001001001111101111110100010101110".length());