以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!
BFE.devAI解答 - JavaScript 代码题
96. 计算数字的二进制表示中“1”的个数
题目分析: 根据二进制数的原理,每次用数字n进行n&(n-1)运算会使二进制表示中的最后一个1变为0并且不影响其他位。例如:n=10时,n-1=9, 10&9=8,二进制表示分别为1010,1001,1000。 则可使用循环,每次进行一次n&(n-1),直到n=0,统计执行次数即为二进制表示中1的个数。
参考代码:
function countOne(n){ var count = 0; while(n != 0){ n &= (n-1); count++; } return count;}