MENU

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

February 28, 2019 • Read: 6069 • 学习

因学校的比赛用了一个星期多学习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补齐
Archives QR Code Tip
QR Code for this page
Tipping QR Code
Leave a Comment

已有 1 条评论
  1. 加油!#(脸红)