因学校的比赛用了一个星期多学习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补齐
加油!#(脸红)