输入两个数,判断是否符合格雷码
例如 :
10 和11 为true
11 和 11 为false
11 和 00 为false
public static boolean Gray(int x, int y) {
// 两个数是否相同
if (x == y) {
return false;
}
// 求^结果
int temp = x ^ y;
// 判断结果中 二进制 1 的个数
int count = 0;
while (temp != 0) {
temp &= temp - 1;
count++;
}
// 如果相差1位
if (count == 1) {
return true;
} else {
return false;
}
}