有一个72位的数组,我希望把一个八位的数组和一个1位的数组依次以(八位数组 +一位数组 )x8的格式存放数据,请用c语言编写对应代码
时间: 2024-03-12 19:49:02 浏览: 57
可以按照以下的代码实现:
```c
#include <stdio.h>
int main() {
unsigned char data[72] = {0}; // 声明并初始化数组,全部赋值为0
unsigned char eightBitData[8] = {0b10101010, 0b01010101, 0b11110000, 0b00001111, 0b11001100, 0b00110011, 0b00000001, 0b11111110}; // 假设这是八位数组
unsigned char oneBitData[8] = {0b1, 0b0, 0b1, 0b1, 0b0, 0b1, 0b0, 0b1}; // 假设这是一位数组
// 依次存入数据
for (int i = 0; i < 72; i += 9) {
for (int j = 0; j < 8; j++) {
data[i + j] = eightBitData[j];
}
data[i + 8] = oneBitData[i / 9];
}
// 打印存储结果
for (int i = 0; i < 72; i++) {
printf("%02x ", data[i]);
if ((i + 1) % 8 == 0) {
printf("\n");
}
}
return 0;
}
```
这里使用了两个数组,一个存储八位数据,一个存储一位数据,然后依次存入数据。每次跨越9个元素,因为每次需要存储8位数据和1位数据,第二个循环用于按位赋值。最后用一个循环打印出存储结果,其中 `%02x` 表示以十六进制输出两位字符,不足两位用0补齐。
阅读全文
相关推荐
![c](https://img-home.csdnimg.cn/images/20250102104920.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)