реклама на сайте
подробности

 
 
> начальная инициализация массива
Метценгерштейн
сообщение May 22 2015, 09:15
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 357
Регистрация: 12-04-05
Из: Петербург
Пользователь №: 4 079



uint8_t tst_mass [1] = {(|= BIT_5)};

как что-то подобное делать?
Т.е. чтобы при обращении к данному элементу, происходило или с каким-то числом?
Когда буду в ф-ии вызывать данный элемент, он должен не полностью переписать элемент массива, а только бит в этом элементе.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ar__systems
сообщение Jun 2 2015, 12:25
Сообщение #2


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



+1.

Вот это предложение можно как-то переписать, чтобы парсер русского языка на нем не спотыкался?

Цитата
Т.е. чтобы при обращении к данному элементу, происходило или с каким-то числом?
Go to the top of the page
 
+Quote Post
psL
сообщение Jun 3 2015, 08:50
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 526
Регистрация: 5-08-05
Пользователь №: 7 390



Цитата(ar__systems @ Jun 2 2015, 15:25) *
+1.

Вот это предложение можно как-то переписать, чтобы парсер русского языка на нем не спотыкался?


вместо "или" нужно читать "ИЛИ" )


Цитата(Метценгерштейн @ May 22 2015, 12:15) *
uint8_t tst_mass [1] = {(|= BIT_5)};

как что-то подобное делать?
Т.е. чтобы при обращении к данному элементу, происходило или с каким-то числом?
Когда буду в ф-ии вызывать данный элемент, он должен не полностью переписать элемент массива, а только бит в этом элементе.



Например так:
Код
struct proc
{
    int param;
    int (*do_)(int arg, struct proc* proc );
};

int do_or(int arg, struct proc* proc)
{
    return arg | proc->param;
}

int do_and(int arg, struct proc* proc)
{
    return arg & proc->param;
}

int do_proc(int arg, struct proc* proc)
{
    return proc->do_(arg, proc);
}

struct proc procs[]={
    {   .param = (1<<5) ,  do_or  }, // 0
    {   .param = (1<<7) ,  do_or  }, // 1
    {   .param = (1<<31) , do_and }, // 2
};


...
    do_proc(0x12, &procs[1]); // установка бита 7
...

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 11:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.01399 секунд с 7
ELECTRONIX ©2004-2016