задача на работу с битами

Низкоуровневое программирование портов, микроконтроллеров и т.д.

Модератор: Andy

Ответить
Аватара пользователя
flo
Сообщения: 5
Зарегистрирован: 14 ноя 2007, 11:06

Задана последовательность битов, в которой под каждый элемент отводится заданое число битов (менее 32). Выделить каждый элемент последовательности и записать его в массив целых чисел.

для меня условие изначально было непонятным, но препод пояснил, что есть некотрое w задаваемое пользователем которое определяет количество битов, которые мы извлекаем на i-м шаге

необходимо эту программу написать на си++ и на асме... вот только я не знаю как это реализовать...

еще такая вот подсказка, правдя для меня она не совсем прозрачна

Код: Выделить всё

x[i]=((*(unsigned*)&b[i])>>i*w%8)
где x - это новый масив куда мы записываем извлеченные биты
b по всей видимости это исходный массив

помогите, кто понимает, пожалуйста
Аватара пользователя
somewhere
Сообщения: 1858
Зарегистрирован: 31 авг 2006, 17:14
Откуда: 71 RUS
Контактная информация:

Что-то я не догоню никак, можно ли условие на конкретных случаях и примерах показать?
It's a long way to the top if you wanna rock'n'roll
Аватара пользователя
flo
Сообщения: 5
Зарегистрирован: 14 ноя 2007, 11:06

ну мы берем w битов и помещаем их в i-й элемент массива, потом снова берем w битов и помещаем i+1-й элемент
Ответить