以前常常的作法就是看是否能整除2
function isEven(num) {
return num % 2 == 0;
}
今天學到了一個新的方法,根據與運算來計算
var isEven = function(num) {
return !(num & 1);
};
剛開始看的時候沒懂,&怎麼就能判斷奇偶呢,仔細分析:
1&1=1
2的二進制是10 => 10&01=0
3的二進制是11 => 11&01=1
4的二進制是100 => 100&001=0
偶數二進制最後一位都是0,1的最後一位是1,其它位都是0,因此偶數和1的與運算結果都是0
注意:
參加運算的兩個數據,按二進制位進行「與」運算。
運算規則:0&0=0;0&1=0;1&0=0;1&1=1;
即:兩位同時爲「1」,結果才爲「1」,不然爲0