如何判断一个整数是不是奇数----最佳方式
2017-04-12 13:40
281 查看
通常判断一个整数是否是奇数,大家会这样来做:
public static boolean isOdd(int i){
return i%2 != 1 ;
}
或者
public static boolean isOdd(int i){
return i%2 == 0 ;
}
显然,第一种当 i 是负数时就会出现判断错误。
第二种与 0 比较是很明智的选择。我们选第二种准没错。
还有一种效率高一些的方法,如下:
public static boolean isOdd(int i){
return (i & 1) != 0 ;
}
采用位运算来判断,我们知道位运算符&,是把两个运算数转化为二进制,对应的位进行比较,除了两个都是 1 才返回1,其它情况都返回0,那么判断是否是奇数我们只看最后一位就可以了。所以奇数和1进行&运算的结果一定是1。
常规情况下:取余操作是没有逻辑操作快速的。
public static boolean isOdd(int i){
return i%2 != 1 ;
}
或者
public static boolean isOdd(int i){
return i%2 == 0 ;
}
显然,第一种当 i 是负数时就会出现判断错误。
第二种与 0 比较是很明智的选择。我们选第二种准没错。
还有一种效率高一些的方法,如下:
public static boolean isOdd(int i){
return (i & 1) != 0 ;
}
采用位运算来判断,我们知道位运算符&,是把两个运算数转化为二进制,对应的位进行比较,除了两个都是 1 才返回1,其它情况都返回0,那么判断是否是奇数我们只看最后一位就可以了。所以奇数和1进行&运算的结果一定是1。
常规情况下:取余操作是没有逻辑操作快速的。
相关文章推荐
- 如何判断一个整数是不是奇数----最佳方式
- C语言-----如何用C语言判断一个数是不是整数
- java中如何判断一个数是否为正整数(多种种方式比较有意思)对时间处理也可以
- js如何判断一个数是不是整数类型
- System.Odd - 判断一个整数是不是奇数
- System.Odd - 判断一个整数是不是奇数
- 如何判断一个整数是不是完全平方数
- 如何判断一个数是不是2的整数次方
- 如何用一个语句判断一个整数是不是二的整数次幂?
- 如何判断一个整数是不是一个大整数的因子
- IOS中如何判断一个数是不是整数
- Odd - 判断一个整数是不是奇数
- 如何判断一个整数是否为奇数
- 如何以最优时间复杂度得出——判断一个字节内的整数的二进制形式中的1个数
- 判断一个整数是否是奇数(C#版)
- 如何判断一个数是不是一个完全平方数?
- 判断一个整数是否是奇数(C#版)
- 如何判断一个float/double是不是一个有效的值
- asp如何判断一个字符是不是汉字
- 如何判断一个float/double是不是一个有效的值