![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
![]()
Здравствуйте!
Есть структура flags с битовыми полями. Структура это входит в объединение regs Есть цикл, который перебирает элементы массива и при выполнении некоторого условия, цикл должен записывать единицу в битовое поле, соответствующее элементу массива. Так как битовые поля в виде массива я представить не могу, задумал представить их в виде односвязного списка вида Код:
Код:
Подскажите, пожалуйста, куда можно двигаться дальше? Возможно работать с битовыми полями в рамках такой задачи через битовый сдвиг? |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]() Цитата:
Если у вас есть, например, структура с битовыми полями как элемент, то можно создать массив структур и т.д. Если у вас есть массив каких-то объектов и битовые поля, соответствующие им, то не надо битовые поля пихать в массив. Просто установите соответствие между номер элемента в массиве и номер бита в битовом поле. Например, прямо 0 элемент - 0 бит,.. |
|
![]() |
![]() |
![]() |
#3 | |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
![]() Цитата:
Думаю использовать маску. Ведь, перебирая массив float, мы узнаем индекс элемента. Значит дальше по идее надо в i-ый бит маски положить 1 или 0 и применить or или and к flags. Правильный ход мыслей? |
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Цифровой кот
Старожил
Регистрация: 29.08.2014
Сообщений: 7,629
|
![]()
Если нужен только набор битов (до 32 шт), то достаточно только ULONG. Без всяких структур.
А на паскале я бы написал класс с множеством и не мучался. На сях можно и даже нужно изобразить нечно подобное по функциональности. Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
|
![]() |
![]() |
![]() |
#6 | |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
![]() Цитата:
Код:
И обратно. Если bd_val[0] уменьшается, то pz или az переключаем в ноль |
|
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]()
Ну тогда без маски, ручками. Хотя на вашем месте я б запихнул бы в объединение битовые поля и uint16 и тогда б маской, да и маску проще от индекса сдвигом получать было б.
|
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
![]()
Пока я вот на каком этапе. Сделал список вида
Код:
Код:
Но как это сделать, пока не могу понять |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,833
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#10 | |
Форумчанин
Регистрация: 18.03.2015
Сообщений: 114
|
![]() Цитата:
Голова кипит и глаз замылен переделывать через другую схему Если введем индекс в список. Можно ли как-то так Код:
Последний раз редактировалось Bayern_M; 06.04.2015 в 15:28. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Работа с полями типа BLOB | LuckyDog21 | Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) | 0 | 05.01.2015 14:05 |
Работа с полями на форме. | nat_lapulia | Microsoft Office Access | 14 | 01.02.2013 12:00 |
Создание шаблона и работа с полями | olegrock | Microsoft Office Word | 6 | 26.11.2011 22:08 |
Работа с битовыми полями | Farrel | Общие вопросы C/C++ | 13 | 20.02.2011 17:57 |
Interbase. Работа с BLOB-полями | Sewell | БД в Delphi | 5 | 25.11.2010 08:46 |