C++一个二进制数a,求a+1的二进制表示
时间: 2023-06-11 10:09:13 浏览: 236
求二进制数中1的个数
我们可以通过位运算来求解一个二进制数中1的个数。具体方法为,使用一个计数器,每次通过 a & 1 操作来判断 a 的最后一位是否为1,如果是则将计数器加1,然后右移 a 一位,继续判断下一位是否为1,直到 a 的值为0。以下是C语言代码实现:
```c
#include <stdio.h>
int countOnes(int a) {
int count = 0;
while (a != 0) {
if (a & 1) {
count++;
}
a = a >> 1;
}
return count;
}
int main() {
int a = 0b10110101;
int ones = countOnes(a);
printf("%d的二进制表示中1的个数为%d\n", a, ones);
return 0;
}
```
运行结果为:
```
181的二进制表示中1的个数为5
```
阅读全文