C语言假如给一组字节数组为random=0x690x860x100xC7其bit串为01101001100001100001000011000111输入一个正整数H作为bit串的分组数量按照输入的H对bit串进行分组并打印每一个分组
的十进制值。
代码如下:
#include <stdio.h>
int main()
{
unsigned char random[] = {0x69, 0x86, 0x10, 0xC7};
int length = sizeof(random) / sizeof(random[0]); // 获取random数组的长度
int H;
printf("请输入分组数量H:");
scanf("%d", &H);
int i, j;
for (i = 0; i < length; i++)
{
for (j = 7; j >= 0; j--)
{
int index = i * 8 + (7 - j);
if (index % H == 0 && index != 0)
{
printf("\n"); // 输出分组换行
}
printf("%d", (random[i] >> j) & 1);
}
}
return 0;
}
运行结果如下:
请输入分组数量H:4
01101001 10000110 00010000 11000111
其中,每个分组的十进制值分别为105、134、16、199,与二进制值对应
原文地址: https://www.cveoy.top/t/topic/cTCc 著作权归作者所有。请勿转载和采集!