如果两个byte的二进制表示中仅有一位不同,则它们互为格雷码,写个函数判断两个byte是否互为格雷码。
public class IsCogray { public boolean isCogray(char a, char b) { int m = a ^ b; return m != 0 && (m & (m - 1) & 0xff) == 0; } public static void main(String[] args) { IsCogray ic = new IsCogray(); System.out.println(ic.isCogray((char)0x7f, (char)0xff)); } }
时间: 2024-12-12 04:09:50