0 Members and 1 Guest are viewing this topic.
Мне нужно прочитать с начала файла всего 32 бита, а затем выделять группы по несколько бит (и работать потом с ними), например, первый 5 битов отвечают за одно, затем 2 бита за другое и т.д.
читай двойными словами (DWORD), для работы с нужной группой бит накладывай маску логическим AND, при необходимости/для удобства делай сдвиг вправо на нужно кол-во разрядов и сравнивай... imho все прозрачно.
Давай на примере:есть AAABBCCD слово.
1. Вопрос я не знаю какой считается 0 битом и какой 8 битом
2. У меня есть инфа x бит и даны смещения : на примере смещение 2 что даст?
0xAAABBCCD=10101010101010111011110011001101общепринято считать справа налево. соответственно 0 бит = 1, 8 бит = 0.по смещению 2 стоит взведенный бит.
Ясно, а как мне выделить блок например из 4 бит?
наложи маску. например, если нужно выделить блок из 4 бит по смещению 2, делаешь0xAAABBCCD AND 0x3C (111100) = 0xC (1100)
Давай на примере:есть AAABBCCD слово.1. Вопрос я не знаю какой считается 0 битом и какой 8 битом2. У меня есть инфа x бит и даны смещения : на примере смещение 2 что даст?