查找数N二进制中1的个数(JS版)
//比较最低位是否为1,复杂度O(logn),仅适合正数,当是负数,将出现死循环 function getOne(n){ var c = 0; while(n){ if(n&1){ c ++; } n >>= 1; } console.log(c); } function getOne(n) { var c = 0; for (var i = 1; i; i <<= 1) { if (i & n) { c++; } } console.log(c); } //快速去掉最高位1 function getOne(n){ var c = 0; while(n){ n = n &(n - 1); c++; } console.log(c); }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。