/************************************************************************************** Janne Koljonen Vaasan yliopisto Tau.111 Soft Computing Harjoitus 1: 23.9.2003 Tehtävä 7. Hamming etäisyyden laskeva funktio **************************************************************************************/ public class Hamming { public static void main(String[] args) { System.out.println("Hamming etäisyys"); int luku1=11; int luku2=17; if(args.length>1) { luku1=Integer.parseInt(args[0]); luku2=Integer.parseInt(args[1]); } Hamming h=new Hamming(); h.printHamming(luku1,luku2); } public int hamming(int luku1, int luku2) { int etaisyys=0; int ero=luku1^luku2; // ^ = ehdollinen tai eli XOR for(int i=0;i<32;i++) // |int|=32 bittiä { etaisyys+=(ero & (1<>>i; // lasketaan eron ykkösbittien määrä } return etaisyys; } public void printHamming(int luku1, int luku2) { System.out.println("Lukujen "+luku1+" ja "+luku2+" välinen hamming etäisyys on "+hamming(luku1,luku2)); } }