判断2个数a,b的大小。不能用、if、switch、“?”或其他
2017-02-11 本文已影响42人
你期待的花开
通过符号位判断,由于int是32位,第32位是符号位,所以将两个数做差,将差值右移31位,正数的符号位为0,负数的符号位为1。
public static void main(String[] args) {
int a = 8;
int b = 5;
int[] c = {a, b};
int d = a - b;
d = d >> 31;
d=d*-1;
System.out.println(c[d]);
}