Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Необходимо начиная с "src_start" бита первого элемента буфера "src", скопировать (заменить содержимое!)
- "count" бит в буфер "dst" начиная с "dst_start" бита.
- Байты: 3-ий 2-ой 1-ый 0-ой
- src[4] = { 0101_1111, 0101_1111, 0101_1111, 0101_1111 }
- dst[4] = { 1100_1111, 0010_0000, 0010_0000, 1010_1010 }
- src_start = 3
- dst_start = 5
- count = 25 // Для примера: 4*8 - dst_start - 2(оставляем значение старших бит dst)
- memcpy_bit(uint8_t *dst, uint8_t dst_start, uint8_t *src, uint8_t src_start, uint8_t count);
- После выполнения функции:
- 1. младшие 5 бит 0-вого байта dst остались прежними
- 2. 2 старших бита 3-его байта dst остались прежними
- ! 5-ый бит
- src xx xx11 1101 0111 1101 0111 1101 011x xx // сдвинул src так, чтобы src_start был над dst_start. x - игнорируемые биты
- dst[4] = { 1100_1111, 0010_0000, 0010_0000, 0110_1010 } // исходное значение
- dst[4] = { 1111_1101, 0111 1101 0111 1101, 0110_1010 } // результат
Advertisement
Add Comment
Please, Sign In to add comment