public int hammingDistance(int x, int y) {
String xx = Integer.toBinaryString(x);
String yy = Integer.toBinaryString(y);
if (xx.length()>yy.length()){
int in =xx.length() - yy.length();
for (int i = 0; i <in; i++) {
yy="0"+yy;
}
}else if(xx.length()<yy.length()){
int in =yy.length() - xx.length();
for (int i = 0; i <in; i++) {
xx="0"+xx;
}
}
char[] xxs = xx.toCharArray();
char[] yys = yy.toCharArray();
int num =0;
for (int i = 0; i < xxs.length; i++) {
if (xxs[i]!=yys[i]){
num++;
}
}
return num;
}
版权声明:本文为qq_42903710原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。