Тема: Побітові операції

Вхідний рядок байтів має довжину, кратну 8, написати програму що кодує його за наступною схемою: вісім біт першого байта записуються, як нулеві біти перших восьми байтів, вісім біт другого – перші біти других восьми байтів і т.д. для кожних восьми байтів вхідної послідовності

2

Re: Побітові операції

Правила, пункт 3.5

Подякували: koala1

3

Re: Побітові операції

ось най простіший приклад пакування бітів до байту у С++

typedef union
{
    struct
    {
        unsigned char bit1 : 1;
        unsigned char bit2 : 1;
        unsigned char bit3 : 1;
        unsigned char bit4 : 1;
        unsigned char bit5 : 1;
        unsigned char bit6 : 1;
        unsigned char bit7 : 1;
        unsigned char bit8 : 1;
    }u;
    unsigned char oneByte;
}BiteMap;
/**************************************************/
BiteMap bm={0};
bm.u.bit1 =1;
bm.u.bit2 =1;
printf("%d\n",bm.oneByte);

4

Re: Побітові операції

Але це далеко не найпростіший шлях розв'язати задачу (повороту на 90° спрайта 8*8 пікселів ;) ), навіть якщо не звертати увагу на явно вказене «бітові операції».

Подякували: leofun011