简述二进制中 1 的个数 ?
参考答案:
在二进制中,一个数字的每一位只能是0或1。要确定一个二进制数中1的个数,有几种方法可以实现:
-
直接计数法:这是最直接的方法,就是逐位检查二进制数,数出其中1的个数。例如,对于二进制数101101,1的个数是4。
-
利用位运算:可以使用位运算来快速计算二进制数中1的个数。一种常用的方法是使用位运算中的“与”(&)操作和“右移”(>>)操作。具体步骤如下:
- 初始化一个计数器变量count为0。
- 将给定的二进制数与1进行按位与操作,然后检查结果是否为1。如果是,将计数器加1。
- 将给定的二进制数右移一位,然后重复上述步骤,直到二进制数变为0。
- 最后,计数器中的值就是二进制数中1的个数。
例如,对于二进制数101101,计算过程如下:
* 初始化count为0。
* 101101 & 000001 = 000001,结果为1,count加1,得到10110。
* 101100 & 000001 = 000000,结果为0,count不变,得到10110。
* 10110 >> 1 = 001011,继续执行上述步骤。
* 重复上述过程,直到二进制数变为0。
* 最终,count的值为4,即二进制数101101中1的个数为4。
这两种方法都可以用来计算二进制数中1的个数,其中利用位运算的方法在计算效率上更高。