Russian Qt Forum
Ноябрь 26, 2024, 19:34 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: uint16_t > uint8_t  (Прочитано 3531 раз)
Dalt
Гость
« : Декабрь 26, 2013, 17:47 »

Добрый день.

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

С уважением,
....
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Декабрь 26, 2013, 19:05 »

преобразовать вручную. Одно двухбайтное слово можно разбить на два байта с помощью битовых операций.
Записан
Bepec
Гость
« Ответ #2 : Декабрь 26, 2013, 22:28 »

Ох я сча опозорююсь Веселый

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

Т.е.

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

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

PS пипец как давно я работал с простыми типами Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.042 секунд. Запросов: 22.