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

 
 
> Битовый массив, как объявить
Muadib
сообщение Apr 7 2012, 12:57
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 19
Регистрация: 10-12-07
Пользователь №: 33 170



как объявить битовый массив к примеру а[i][j] of byte и как с ним работать, помогите.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
scifi
сообщение Apr 7 2012, 21:29
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Можно сделать функции для записи и чтения бита. Вот пример для одномерного массива:
CODE
#define NUMBITS 123

uint8_t bits[(NUMBITS + 7) / 8];

int getbit(uint8_t *src, int n)
{
return !!(src[n / 8] & (1 << (n % 8)));
}

void putbit(uint8_t *dst, int n, int val)
{
dst += n / 8;
if (val == 0)
{
*dst &= ~(1 << (n % 8));
}
else
{
*dst |= (1 << (n % 8));
}
}

int main(void)
{
putbit(bits, 34, 1);
printf("%d", getbit(bits, 34));
}
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd August 2025 - 07:02
Рейтинг@Mail.ru


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