Given 2 numbers. Find if they are consecutive grey code sequences
Risposte di colloquio
Anonimo
2 giu 2017
public static int isGrayCode(int n1, int n2) {
int x = n1^n2;
int nbits = 0;
while (x != 0) {
if (nbits > 1)
return 0;
nbits += (x & 1);
x >>= 1;
}
return nbits==1? 1:0;
}
4
Anonimo
22 nov 2014
Any suggestions to prepare for the test? Can you give an overview for the logical test?
Thanks in advance.
1
Anonimo
23 nov 2014
public static void main(String[] args) {
int num1 = 4, num2 = 7;
String s1 = Integer.toBinaryString(num1);
String s2 = Integer.toBinaryString(num2);
//System.out.println(s1);
int i1 = Integer.parseInt(s1);
//System.out.println(i1);
int i2 = Integer.parseInt(s2);
//System.out.println("Intger value of num2 is " + i2);
int n1[] = new int[32];
int sum1 = 0;int sum2 = 0;int diff1 = 0;
while (i1 != 0){
sum1 = sum1 + i1%10;
i1 = i1/10;
}
while (i2 != 0){
sum2 = sum2 + i2%10;
i2 = i2/10;
}
System.out.println("sum1 is " + sum1);
System.out.println("sum2 is " + sum2);
if(sum1 > sum2){
diff1 = sum1 - sum2;
}else{
diff1 = sum2 - sum1;
}
if(diff1 > 0 && diff1 < 2){
System.out.println("They are consecutive gray code seq");
}else
System.out.println("They are not consecutive gray code seq");
}
} //The problem with this code is it will not work if any number is 0.Please correct it if u can.