Биты для самых маленьких

Биты для самых маленьких

Тема в разделе C/C++ создана пользователем panzerfaust
panzerfaust Автор темы
Надо вообще рассказать, что за биты такие и зачем они нужны. Все просто:

1 бит - это либо 1, либо 0 (вкл/выкл, да/нет и т.д.)
1 байт - это 8 бит, т.е закодировать можно максимум 2^8=256 различных значений (этого, кстати, достаточно чтоб использовать алфавит + некоторые символы, см. ASCII)

В C++ работа с битами выполняется через bitwise операторы - &, |, <<, >>, ~, ^ (по порядку: И, ИЛИ, смещение влево, смещение вправо, НЕ, исключающее ИЛИ)

Зачастую биты используются для минимизации данных под флаги:
uint32_t flags{}; flags |= 1 << 1; // поставит 1 бит на 1

bool так же может быть битом, если в структуре явно указать под него размер:
але:
struct my_struct
{
    char some_data;                // 8 бит
    bool b1 : 1;                // 1 бит
    bool b2 : 1;                // 1 бит
    char some_other_data : 6;    // 6 бит
};

Другое применение битов - шифрование и кодировка. Почитать можно, к примеру, про мною любимый UTF-8 на википедии (используются биты для определения количества октетов, определение является ли октетом и т.д)

Если интересно, то рекомендую прочесть про булеву алгебру - чтиво, что надо, под пивас пойдет.

1
Бля я думал ты про музыкальные биты

Сверху