Russian Qt Forum

Qt => Вопросы новичков => Тема начата: Dalt от Декабрь 26, 2013, 17:47



Название: uint16_t > uint8_t
Отправлено: Dalt от Декабрь 26, 2013, 17:47
Добрый день.

Подскажите как получить из массива uint16_t[8] > uint8_t[16] массив?

С уважением,
....


Название: Re: uint16_t > uint8_t
Отправлено: Alex Custov от Декабрь 26, 2013, 19:05
преобразовать вручную. Одно двухбайтное слово можно разбить на два байта с помощью битовых операций.


Название: Re: uint16_t > uint8_t
Отправлено: Bepec от Декабрь 26, 2013, 22:28
Ох я сча опозорююсь :D

Если это просто массивы можно взять указатель uint8 на первый элемент первого uint16 массива.

Т.е.

Код:
uint16_t array[8]
uint8_t * point = reinterpret_cast<uint8_t *> (&array[0]);

И прибавляя указатель
Код:
point++ 
можно двигаться по всему массиву. Чтобы получить значение указатель надо разыменовать вот так
Код:
int a = *point;

PS пипец как давно я работал с простыми типами :)