您的位置:首页 > 其它

不用比较运算符,判断int型的a,b两数的大小的答案

2012-12-17 17:16 441 查看
此为正解,未用到任何比较运算符,包括大于等于和小于等。

[java]
view plaincopyprint?

/** 
 * 不用比较运算符,判断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
  
  }  
}  

如果要返回数字,直接返回 rtn, 小于是1 大于等于是 0

原理就是:

a-b 如果是负数,则最高位是1,否则是0

原文: http://www.java2000.net/p16465

更多Java面试题:http://www.java2000.net/f146
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: