[an error occurred while processing this directive]
Двоичные числа для си компилятора VDSP 3.5 (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)
Отправлено
уни 27 февраля 2006 г. 09:10
Не могу понять как сделать запись вроде: unsigned int val; val = 0b1000000100000011;
Т.е. не 0x8103, а именно двоичным кодом. Очень это удобно. Я извратился с использованием ассемблерных вставок, правда это некрасиво, но при инициализации не важно. Хочется делать комментарии для каждого бита, чтобы не лазить в спецификации постоянно. Меня интересует подобная инициализация массива. Если есть пример, давайте для массива.
Составить ответ
|||
Конференция
|||
Архив
Ответы
Ответ: — SE (27.02.2006 10:19 195.122.233.115 , 219 байт)
Через #define определить макрос, который из битов слово бы собирал... — SM (27.02.2006 09:18 213.141.159.26 , пустое )
Я думал об этом, решил, что не я один может и такой макро есть в природе. Попробую. — уни (27.02.2006 09:40 87.224.180.187 , пустое )
Еще можете объявить структуру из битовых полей... Это немного не то, но смысл похож - каждый бит назван как положено. — SM (27.02.2006 09:51 213.141.159.26 , пустое )
Лучше уж union из структуры и integer, чтобы как к целому тоже доступ был :-) — andy_P (27.02.2006 13:17 80.82.63.185 , пустое )
С другой стороны (я на 2191 сижу), если AD это было нужно (+) — уни (27.02.2006 13:42 87.224.180.187 , 206 байт)
AD - это не ко мне :-) Может еще кто что скажет ... Про TI - у него проблемы с кодом типа + — andy_P (27.02.2006 13:54 80.82.63.185 , 368 байт)
А как бы написать что-то наподобии этого (+) — уни (27.02.2006 14:47 87.224.180.187 , 746 байт)
Да вроде так (насколько помню). А написать bwval.AsUINT = 1234 религия не позволяет? :-) — andy_P (27.02.2006 14:49 80.82.63.185 , пустое )
Я то хотел аналог asm конструкции переменная = b#00000000 только на си, а уже понаворатили тут — уни (27.02.2006 15:02 87.224.180.187 , пустое )
Хе-хе, так смысл и был в том (+) — уни (27.02.2006 14:59 87.224.180.187 , 1283 байт)
Тогда уж bwval.bits = {0,0,1,1,0,0,1,0,0,0,0,1,0,0,0,0}; Компайлер должен сожрать. — andy_P (27.02.2006 15:01 80.82.63.185 , пустое )
Жалко, что нету как в Delphi with begin ... end; — уни (27.02.2006 15:01 87.224.180.187 , пустое )
Ааа, будем смотреть у себя, свой вариант в отладчике пока не наблюдал — уни (27.02.2006 14:13 87.224.180.187 , пустое )
Си достаточно гибок при работе с указателями, так что если есть пару байт в памяти, то уж без разницы чем они были, а чем надо мы их назначим — уни (27.02.2006 13:31 87.224.180.187 , пустое )
Да, точно, идея мне по душе. Тоже попробую как вариант. — уни (27.02.2006 10:58 87.224.180.187 , пустое )
Где-то на просторах местных конференций это уже пролетало. И не раз. — SM (27.02.2006 09:50 213.141.159.26 , пустое )
Перейти к списку ответов
|||
Конференция
|||
Архив
|||
Главная страница
|||
Содержание
E-mail:
info@telesys.ru