面试题:两个整数不使用比较运算符和API得到更大的那个值
来源:互联网 发布:linux激活网卡命令 编辑:程序博客网 时间:2024/06/02 11:59
两个整型数,不准用if 、switch 、?:等判断语句求出两者大值,不能使用api
我这里2个实现方法如下:
view plaincopy to clipboardprint?
/**
* 不用比较运算符得到2个数字的更大值。
*
* @author JAVA世纪网(java2000.net)
*/
public class Test3 {
public static void main(String[] args) {
int[] as = { 44, 55, 44, 4, 40, -44, -55 };
int[] bs = { 55, 44, 4, 44, 40, -55, -44 };
for (int i = 0; i < as.length; i++) {
System.out.println(max2(as[i], bs[i]));
System.out.println(max3(as[i], bs[i]));
System.out.println();
}
}
/**
* 使用移位操作
*
* @param a
* @param b
* @return
*/
public static int max2(int a, int b) {
int[] nums = { a, b };
return nums[(a - b) >>> 31];
}
/**
* 使用乘法操作
*
* @param a
* @param b
* @return
*/
public static int max3(int x, int y) {
return x-(x-y)*((x-y)>>>31);
}
}
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/java2000_net/archive/2009/08/24/4477755.aspx
- 面试题:两个整数不使用比较运算符和API得到更大的那个值
- 面试题:两个整数不使用比较运算符和API得到更大的那个值
- 面试题:两个整数不使用比较运算符和API得到更大的那个值
- Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API
- Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API.
- Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API
- java 不使用 “+,-,*,/” 运算符计算两个整数的和
- 不使用判断比较符比较两个整数的大小(位运算)
- 面试题~位运算实现两个整数的加法
- 不用if-else和比较运算符,得出两个数中较大的那个数
- LeetCode 两个整数的加法运算,不使用+符号
- 不使用比较运算符求两个数的最大值or最小值【位运算】
- (位运算符)请自己实现两个整数变量的交换 ^的特点 (面试题)
- 面试题:实现两个数的和,不能用“+”“-”
- 面试题:不使用+-*/进行加法运算
- 给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数
- java如何不使用比较运算符计算两个数字的大小
- 面试题47-2:不使用新的变量,交换两个变量的值
- 关于wince6中加入FPCTR出错的原因
- 【zt】计算机科学的期刊和会议
- 用C++ Builder获取应用程序图标
- iframe 三层框架
- Java得到一个整数的绝对值,不使用任何判断和比较语句,包括API.
- 面试题:两个整数不使用比较运算符和API得到更大的那个值
- 回字有几种写法?看Java里面让初学者迷惑的东西
- myeclipse mysql不让插入中文
- ARM + LINUX的学习路线
- myeclipse里把html改为jsp乱码问题
- POJ 1163 这才叫DP 当然有些过于典型了
- Tomcat 报异常org.apache.catalina.core.standardwrappervalve invoke
- JSP页面调用js中文乱码
- 了解实际开发中 Hashtable 的特性原理 .NET, JAVA, PHP (之二)