Как добавить битовую последовательность в конец другой последовательности? - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть битовая последовательность, созданная с использованием memset, я хочу добавить возврат функции в первую последовательность.

U16 *pointer_p = allocmem(); // 500 bytes
memset (&pointer_p, 0, size); // size = 497 bytes
U32 A = function(); //3 byte return value

как добавить возврат из функции в конце созданных данных, сработает ли строка кода ниже?

pointer_p = (*pointer_p<<24)| A ;

Спасибо!

1 Ответ

0 голосов
/ 20 ноября 2018

Вы должны изменить

memset (&pointer_p, 0, size); // size = 497 bytes

на

memset (pointer_p, 0, size); // size = 497 bytes

Затем, предполагая, что немного порядковый номер

((char *)pointer_p)[497] = A & 0xFFu;
((char *)pointer_p)[498] = (A >> 8) & 0xFFu;
((char *)pointer_p)[499] = (A >> 16) & 0xFFu;

Для большого порядкового номера просто измените индексы

((char *)pointer_p)[499] = A & 0xFFu;
((char *)pointer_p)[498] = (A >> 8) & 0xFFu;
((char *)pointer_p)[497] = (A >> 16) & 0xFFu;

Непонятно, как это должно работать с вашими U16 элементами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...