的十进制值。代码如下:

#include <stdio.h>

int main()
{
    unsigned char random[] = {0x69, 0x86, 0x10, 0xC7};
    int H;
    printf("请输入分组数目H:");
    scanf("%d", &H);
    int i, j;
    for (i = 0; i < sizeof(random); i++)
    {
        for (j = 7; j >= 0; j--)
        {
            printf("%d", (random[i] >> j) & 0x1); // 输出每个字节的二进制串
        }
    }
    printf("\n");
    for (i = 0; i < sizeof(random) * 8 / H; i++)
    {
        int decimal = 0;
        for (j = 0; j < H; j++)
        {
            decimal = decimal * 2 + ((random[i * H / 8 + j / 8] >> (7 - j % 8)) & 0x1);
        }
        printf("%d ", decimal); // 输出每个分组的十进制值
    }
    printf("\n");
    return 0;
}

运行结果:

请输入分组数目H:4
01101001011000011000010000110001111000110100000111000111
105 134 16 199
``
C语言假如给一组字节数组为random=0x690x860x100xC7其bit串为01101001100001100001000011000111输入一个正整数H每组为H个bit按照输入的H对bit串进行分组并打印每一个分组

原文地址: https://www.cveoy.top/t/topic/cTDg 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录