判断一个数是不是二进制数的c++代码
时间: 2023-11-26 10:05:50 浏览: 77
下面是判断一个数是不是二进制数的c代码:
```
int isBinary(unsigned long long num) {
while (num > 0) {
if (num & 1) {
if (num >> 1 << 1 != num) {
return 0;
}
}
num >>= 1;
}
return 1;
}
```
相关问题
c++怎么判断一个数是不是二进制数的代码
以下是判断一个数是否为二进制数的 Python 代码:
```
def is_binary(num):
for digit in str(num):
if digit not in ['0', '1']:
return False
return True
```
其中,将待判断的数强制转换为字符串,并遍历字符串中的每个数字,如果有数字不是 0 或 1,则返回 False,否则返回 True。
C++一个二进制数a,求a+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
```