求一个数的二进制形式中 1 的个数

一、问题描述

给定一个数 n,求该数转换成二进制后包含的 1 的个数。

二、代码实现

非常老也是非常经典的一个面试题,第一次面试的时候就遇到了,这里只要把 nn-1 循环按位与就可以了。

三、变形

题目非常老,经常会被变形。例如把该过程封装成一个函数,然后传入参数,求输出值。

这里输出的就是 9999 的二进制中 1 的个数 8 。

发表评论