偶数判断

之前经常的做法就是看是否能整除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
posted @ 2019-08-14 10:21  tracy-ling  阅读(295)  评论(0编辑  收藏  举报