java不用比较符判断大小
2014-08-22 08:18
1851 查看
public static void main(String[] args) { int a = 8; int b = 90; int id1 = (b - a) >>> 31; System.out.println(id1); // 1 }
int类型32位,正数的第一位为0,负数的第一位为1,所以把一个正数右移31位就可以判断这个数的正负。
另注:>>和>>>的区别
右移运算符>>(有符号)
用来将一个数的各二进制位全部右移若干位.例如:a = a>>2,使a的各二进制位右移两位,移到右端的低位被舍弃,最高位则移入原来高位的值.
如:a = 00110111,则a>>2=00001101,b=11010011,则b>>2 = 11110100
右移一位相当于除2 取商,而且用右移实现除法比除法运算速度要快
无符号右移运算符>>>
用来将一个数的各二进制位无符号右移若干位,与运算符>>相同,移出的低位被舍弃,但不同的是最高位补0,如a = 00110111,则a>>>2 = 00001101,b=11010011,则b>>>2 = 00110100
相关文章推荐
- 算法--两个数大小比较,不用分支判断
- 【java】比较两个时间的大小,判断是否超时
- 不用比较判断两个数大小
- Java日期操作方法工具类实例【包含日期比较大小,相加减,判断,验证,获取年份等】
- java-判断相同和对象比较大小
- java中Integer,String判断相等与integer的比较大小
- 定义一个宏,不用if switch > < 等任何判断语句 比较a和b的大小
- 08-14 比较两个数的大小,不用判断语句
- 一个比较有意思的判断两数大小的方法,不用逻辑比较运算符
- C++ 不用判断运算符进行比较两个数的大小
- 用Groovy实现判断两个int数值大小(不用比较运算符,考虑溢出)
- 一个比较有意思的判断两数大小的方法,不用逻辑比较运算符
- JAVA DATE类型数据比较判断大小方法
- 不用判断语句比较两个数的大小值
- Java中,数值比较大小,以及数值判断相等
- 不用任何比较操作判断正整数a和b的大小
- 不用判断语句比较两个数字大小
- 不用判断语句比较两个数的大小值
- java中判断string是否为空的三种方法——效率比较
- 关于不用if,switch,?:语句判断两个数大小及其他