Работа с битами...

Тема в разделе "Общие вопросы по С и С++", создана пользователем prosto_lynx, 19 ноя 2008.

Статус темы:
Закрыта.
  1. prosto_lynx

    prosto_lynx Гость

    Народ, нужно работать с символами (char), но побитно, т.е. рассматривать каждый символ как байт и уметь устанавливать его отдельные биты в 0 или 1.
    P.S. Еще желательно, что б можно было применять к ним (полностью байтам или отдельным битам) и логические операции.
     
  2. Creo

    Creo Гость

    Не заню ни одной библиотеки для работы с битами на С или Си ++, но точно знаю, если вопользуешься, так называемыми, битовыми операторами будет тебе счастье...
    вот к примеру ссылочка битовые операторы
     
  3. European

    Регистрация:
    4 сен 2006
    Сообщения:
    2.580
    Симпатии:
    0
    можно std::bitset прикрутить
     
  4. prosto_lynx

    prosto_lynx Гость

    И стало мне счастье!))
    Спасибо! Не знал, что к char они применимы! (начинающий я пока...)
     
  5. alexsid

    alexsid Гость

    юзай
    Код (Text):
    // code
    typedef union _bbyte {
    struct {
    unsigned char b0 : 1;
    unsigned char b1 : 1;
    unsigned char b2 : 1;
    unsigned char b3 : 1;
    unsigned char b4 : 1;
    unsigned char b5 : 1;
    unsigned char b6 : 1;
    unsigned char b7 : 1;
    } bits;
    unsigned char byte;

    void print(){
    std::cout << "Bit fields: "
    << (bits.b7 == 1) << (bits.b6 == 1)
    << (bits.b5 == 1) << (bits.b4 == 1)
    << (bits.b3 == 1) << (bits.b2 == 1)
    << (bits.b1 == 1) << (bits.b0 == 1)
    << " " << std::endl;
    }
    }BitByte;

    void main(int argc, char* argv[])
    {
    BitByte bb;
    bb.byte = 7;
    bb.print();

    std::cout << "setup bit#7 and clear bit#0\n";
    bb.bits.b7 = 1;
    bb.bits.b0 = 0;
    bb.print();
    system("PAUSE");

    std::cout << "Print array of bytes {1, 2, 3} \n";
    char test[] = { char(1), char(2), char(3) };
    BitByte* pbb = (BitByte*)test;
    for(int i=0; i < 3; ++i){
    pbb[i].print();
    }
    system("PAUSE");
    }
     
Загрузка...
Похожие Темы - Работа битами
  1. Andrey Kha
    Ответов:
    0
    Просмотров:
    32
  2. Hoasker
    Ответов:
    0
    Просмотров:
    65
  3. garri671
    Ответов:
    0
    Просмотров:
    57
  4. lelik200969
    Ответов:
    0
    Просмотров:
    54
  5. Kozolick
    Ответов:
    0
    Просмотров:
    144
Статус темы:
Закрыта.

Поделиться этой страницей