1如果最低位不同,则需要添加到结果中(因此结果不准确,需要四舍五入),并且结果中的符号位已设置(结果为负数,因此您需要向下舍入)汇总)。
因此,应该执行以下 *** 作(未测试):
public static int mean(int x, int y) { int xor = x ^ y; int roundedDown = (x & y) + (xor >> 1); return roundedDown + (1 & xor & (roundedDown >>> 31));}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)