比较两个数a、b的大小,不能使用大于/小于、if、switch,?:等判断语句
今天面试碰到了这个问题,知道是位操作,不过当时没想起来,回来查了查总结一下。其实方法很简单,就是相减后看符号位,将减的结果的符号位移位到末尾,再和1与操作,或者直接和0x80000000与,得出的符号位再右移至末尾,作为数组的下标。int型占4字节,即32位,在-1为补码的机器上,1代表负数,0代表正数int max(int x,int y){int buf[2]={x,y};...
原创
2012-04-13 18:06:11 ·
1161 阅读 ·
0 评论