c++判断有奇数位的数的函数 C++代码 简单易懂
时间: 2024-10-21 14:12:19 浏览: 22
在C++中,你可以创建一个简单的函数来检查一个整数是否只有奇数位。这个函数通常会通过按位与运算符(`&`)来操作二进制表示,因为二进制下的偶数位对应于十进制下的2的幂次,而奇数位则不会被2整除。以下是一个简单易懂的示例:
```cpp
#include <iostream>
// 判断是否有奇数位的函数
bool hasOddBits(int num) {
// 通过按位与当前数值和0x55(二进制是1010101...),每次只保留一个奇数位
// 如果结果与原数相等,则说明所有偶数位都是0(即无偶数位)
return (num & 0x55) == num;
}
int main() {
int testNums[] = {12, 45, 789, 222, 15};
for (int i : testNums) {
if (hasOddBits(i)) {
std::cout << i << " 只有奇数位\n";
} else {
std::cout << i << " 包含偶数位\n";
}
}
return 0;
}
```
在这个例子中,`hasOddBits`函数会检查给定的整数`num`是否只有奇数位。如果返回`true`,那么该数字就是奇数位,否则它包含偶数位。
阅读全文