Реализовать функцию копирования битовой цепочки:
void bitcpy(unsigned char *dst, size_t dst_ofs,
unsigned char *src, size_t src_ofs, size_t bit_count);
src указывает на начало буфера, хранящего в себе битовую цепочку.
src_ofs — номер бита в цепочке.
0-й бит — младший бит первого байта (*src),
7-й бит — старший бит первого байта,
8-й бит — младший бит второго байта (src[1]) и т.д.
dst и dst_ofs имеют тот же смысл для результирующей цепочки.
bit_count — количество копируемых битов.
Пример:
src указывает на цепочку из 16 бит: 01100110 11111101 (байты 66 fd).
dst указывает на другую цепочку из 16 бит: 00000111 00000000 (e0 00).
После вызова bitcpy(dst, 2, src, 8, 7) цепочка в dst меняется на следующую: 11110111 00000001 (f7 01).
Поведение функции должно быть протестировано с помощью assert.