怎样将一个数的各个位存到一个数组中c++
时间: 2024-10-03 13:01:37 浏览: 18
在C++中,你可以通过遍历整数每一位并将它们存储在一个数组中来实现这个功能。通常会采用位运算或者循环结构来完成。这里是一个简单的例子:
```cpp
#include <iostream>
using namespace std;
// 函数来获取并保存数字的每一位到数组
void storeBits(int num, int bits[], int size) {
for (int i = 0; i < size; ++i) {
// 取出num右移一位后的最低位,并转换为1(代表有该位)或0(代表无该位)
bits[size - 1 - i] = (num & (1 << i)) >> i;
}
}
int main() {
int number = 12345; // 你要处理的数字
int bitArray[32]; // 假设我们处理的是32位的整数
int bitSize = sizeof(number) * 8; // 计算实际需要的位数
storeBits(number, bitArray, bitSize);
// 打印数组内容
for (int i = 0; i < bitSize; ++i) {
cout << "Bit " << i << ": " << bitArray[i] << endl;
}
return 0;
}
```
在这个例子中,函数`storeBits`接收一个整数`num`、一个空数组`bits`以及数组的大小(假设是32位)。它逐个取出`num`的二进制表示的每一位,并将其存储在数组的相反位置,以便从低位到高位排列。
阅读全文