/** * 不用比较运算符,判断int型的a,b两数的大小. * * @author JAVA世纪网(java2000.net, laozizhu.com) */ public class Test { public static void main(String[] args) { int a = 1; int b = 2; String[] buf = { "a=>b", "a < b" }; int id1 = (a - b) >>> 31; System.out.println(id1); // 1 System.out.println(buf[id1]); // a < b } } 基本原理:如果a-b是负数,则最高位为1,否则为0.移位。 void test3(){ int a=10; int b=19; char *str[]={"a<b","a>=b"}; int c=-((b-a) >> 31); printf("%d/n",c); printf("%s",str[c]); }