|
short long=24бит Как? |
|
|
|
 |
Ответов
|
Mar 1 2017, 12:06
|
Профессионал
    
Группа: Свой
Сообщений: 1 508
Регистрация: 26-06-06
Из: Киев
Пользователь №: 18 364

|
Цитата(k155la3 @ Mar 1 2017, 13:39)  Если без знака то
char long24_mem_area[4]; // 24-битное число расположено в [1][2][3] long24_mem_area[0] = 0; unsigned long MyLong32 = * (long *) &long24_mem_area[0]; (только выравнивание должно быть правильным) Не, как работать с 24 битными числами я в курсе. Но мне хотелось-бы в структуре в памяти разместить рядом четыре 24-битных числа без дырок в памяти. Там еще параллельно на эту структуру накладывается в union массив и парочка других структур. ЗЫ. Ну по факту мне там нужны 12-битные переменные, но если в структуре можно будет иметь 24-битный контейнер, разделить его на 12 бит без дырок в памяти проблем особых не составит.
|
|
|
|
|
Mar 1 2017, 12:51
|
Профессионал
    
Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848

|
Цитата(ArtemKAD @ Mar 1 2017, 16:06)  . . . . Ну по факту мне там нужны 12-битные переменные, но если в структуре можно будет иметь 24-битный контейнер, разделить его на 12 бит без дырок в памяти проблем особых не составит. Единственное, из-за чего стоит с этим заморачиваться - битовые поля итп, экономия одного байта - жесткое (жестокое) ограничение по RAM-FLASH. или огромное кол-во этих данных. Нескромный вопрос. Какая цель такой упаковки ?
|
|
|
|
|
Mar 1 2017, 14:24
|
Профессионал
    
Группа: Свой
Сообщений: 1 123
Регистрация: 8-03-09
Из: Днепр
Пользователь №: 45 848

|
Цитата(ArtemKAD @ Mar 1 2017, 17:43)  Пока поля были кратны 8-ке или укладывались по границе байта/слова/двойного_слова все было более-менее, но тут захотелось "побаловаться" с помехоустойчивым кодированием.... Понятно, цель - работать с числами в raw-принятом массиве, без копирования / присваивания с приведением типов. Если задача повысить за счет этого скорость обработки - то надо писать на ASM оптимизированные для этого ф-ии. IMHO
|
|
|
|
Сообщений в этой теме
ArtemKAD short long=24бит Как? Mar 1 2017, 08:51  scifi Цитата(ArtemKAD @ Mar 1 2017, 15:06) Но м... Mar 1 2017, 12:21  jcxz Цитата(ArtemKAD @ Mar 1 2017, 14:06) Но м... Mar 1 2017, 14:00   zltigo Цитата(jcxz @ Mar 1 2017, 16:00) __packed... Mar 1 2017, 14:34    jcxz Цитата(zltigo @ Mar 1 2017, 16:34) int x ... Mar 1 2017, 15:21   ArtemKAD Цитата(jcxz @ Mar 1 2017, 16:00) __packed... Mar 1 2017, 15:10    scifi Цитата(ArtemKAD @ Mar 1 2017, 18:10) Попр... Mar 1 2017, 15:22     zltigo Цитата(scifi @ Mar 1 2017, 17:22) В режим... Mar 1 2017, 16:12    jcxz Цитата(ArtemKAD @ Mar 1 2017, 17:10) Попр... Mar 1 2017, 15:26     ArtemKAD Цитата(jcxz @ Mar 1 2017, 17:26) На что?
... Mar 1 2017, 15:31      jcxz Цитата(ArtemKAD @ Mar 1 2017, 17:31) На ... Mar 1 2017, 15:35 adnega Можно попробовать так, но я бы не стал так делать,... Mar 1 2017, 12:22 ArtemKAD В общем мыши плакали, кололись, но....
Пока что у... Mar 1 2017, 16:59
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|