不用比较运算符实现两个整数的大小比较并输出结果

据说是经典面试题目,想了半天,没找到特别优化的做法,笨笨的实现一个

< HTML > 
< BODY > 
< SCRIPT > 
var  a = prompt( " 请输入一个数 " , 123 ),b = prompt( " 请输入一个数 " , 123 ),c = a - b,d =~ c,e = 0 ;
for ( var  i  in  [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 , 20 , 21 , 22 , 23 , 24 , 25 , 26 , 27 , 28 , 29 , 30 , 31 ]) e = e | (c >>> i) & 1 ;
c = c >>> 31 ;d = d >>> 31 
alert(a + ([ " 小于 " , " 等于 " , " 大于 " ][d + e - c]) + b)
</ SCRIPT > 
</ BODY > 
</ HTML > 

原文链接

 

posted @ 2007-05-07 21:15  emu  阅读(159)  评论(0编辑  收藏  举报