java学习日记 - 位运算判断奇数

2019-02-28 15:17:00

因学校的比赛用了一个星期多学习java 和jsp,记录一个简单的题目
题目很简单,完成代码,判断一个整数是否是奇数
相信大家都觉得这么简单,按照我以前的思路 取模 一开始是这样的

public boolean isOdd(int i) {
    if (i % 2 == 1) {
        return true;
    } else {
        return false;
    }
}

又改成了

public boolean isOdd(int i) {
    return i % 2 == 1;
}

不 还没完
奇数和偶数转换成二进制有什么区别?
奇数最后一位是1,偶数最后一位是0。
于是

public boolean isOdd(int i) {
    return (i & 1) == 1;
}

当时并没有想起用位运算,为什么呢 我也不知道 啊哈哈哈 可能这就是新手和大佬的区别吧
再来复习下

^(亦或运算) ,针对二进制,相同的为0,不同的为1
&(与运算) 针对二进制,只要有一个为0,就为0
<<(向左位移) 针对二进制,转换成二进制后向左移动3位,后面用0补齐
\>>(向右位移) 针对二进制,转换成二进制后向右移动3位
\>>>(无符号右移) 无符号右移,忽略符号位,空位都以0补齐
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »