JAVA 将128位二进制串转换为整型,在进行位运算,计算汉明距离

JAVA,现有两个128位的二进制串,我要计算它们之间的汉明距离,但在Java中位运算好像都需要事先转换为整型。但是128位的二进制数也太大,int并不能满足要求,用长整型好像也不太行。求大神指导。

5个回答

用4次整数计算,先算最低32位,并且判断是否溢出,溢出把进位/借位放进来,再算33~64,以此类推。

Fan_Xuan
夜的那种黑丶 这种性能太差了,数据库里5千万条记录,爆炸了额
接近 2 年之前 回复

可以将128位的二进制数转成BigInteger来进行计算

能否利用数组&进位退位的方式解决呢?例如int[4]或者BigInteger(这个也是基于数组)

baij1230
baij1230 考虑到java没有无字符型的变量,还是直接转化为BigInteger吧。
接近 2 年之前 回复

用了应付大数的算术运算,jdk提供了大数据BigInteger等类支持这样的计算。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!