Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 5.00
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
#1

Пожалуйста обьясните мне битовые поля. - C++

16.12.2009, 18:22. Просмотров 1661. Ответов 6
Метки нет (Все метки)

Пожалуйста обьясните мне битовые поля. НЕ могу понять зачем они нужны, множество мануалов перечитал.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.12.2009, 18:22     Пожалуйста обьясните мне битовые поля.
Посмотрите здесь:

C++ битовые поля!!
Битовые поля C++
Битовые поля C++
C++ Битовые поля
битовые поля C++
Битовые поля C++
C++ Битовые поля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Nick Alte
Эксперт С++
1605 / 997 / 118
Регистрация: 27.09.2009
Сообщений: 1,923
Завершенные тесты: 1
16.12.2009, 18:53     Пожалуйста обьясните мне битовые поля. #2
Битовые поля позволяют упаковывать вместе значения, для хранения которых много битов не требуется. Например, массив из 32 bool займёт 128 байтов в памяти обычным образом, но 4 байта при упаковке по битам. Практическая ценность этой конструкции заключается в первую очередь в возможности работы с хитроупакованными структурами данных, получаемыми извне (при работе с файлами заданного формата или внешними библиотеками).
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.12.2009, 18:59     Пожалуйста обьясните мне битовые поля. #3
Однажды разрабатывал библиотеку для упаковки/распаковки в/из целого 32 битного числа состояния руки манипулятора.
Отрывок из задания:
Состояние руки манипулятора в пространстве включает в себя: углы отклонения руки манипулятора от осей трехмерного пространства в диапазоне от 0 до 110° (α, β, γ, - четвертинка сферы), глубину выдвижения манипулятора от 0 до 60 см, признак захвата (открыт/закрыт), признак перемещения (двигается/стоит), направление перемещения (вытянуть/втянуть) и 3 скорости перемещения.
Все эти параметры спокойно упаковываются в 32 битного целое.
Благодаря этому снижается нагрузка на канал связи с роботом (вместо того чтобы пересылать десяток чисел, посылаем только одно).
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
16.12.2009, 19:32  [ТС]     Пожалуйста обьясните мне битовые поля. #4
а как их использовать?

к примеру В структуре имеется 2 поля: Наименование Авто и уникальный код.
значение битов следущие: 0-7 срок эксплутации, 8 был ли авто в аварии, 9-14 инвертарный номер.

составить прогу, которая обеспечивает ввод данных, применение, расшифровку кода, вывод данных.

не могу понять что нужно сделать с битовыми полями, и как их расшифровать. подскажите..

Добавлено через 17 минут
вот немного сделал

C
1
2
3
4
5
6
7
8
9
{struct avto
{
 char name[20];
 int cod;
 int srok:7;
 int avar:1;
 int in:5;
} prim;
avto s[3];
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.12.2009, 19:53     Пожалуйста обьясните мне битовые поля. #5
Во вложениях отрывок библиотеки о которой говорилось в посте #3.
Возможно тебе это поможет.
Вложения
Тип файла: rar bit_coding_encoding.rar (522 байт, 62 просмотров)
CyBOSSeR
Эксперт C++
2299 / 1669 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
16.12.2009, 19:58     Пожалуйста обьясните мне битовые поля. #6
И вот как выглядит битовая диаграмма.
Миниатюры
Пожалуйста обьясните мне битовые поля.  
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2009, 21:08     Пожалуйста обьясните мне битовые поля.
Еще ссылки по теме:

C++ Ошибки. Обьясните как мне с ними разобраться
C++ Битовые поля
C++ Битовые поля
C++ С++ битовые поля
C++ Битовые поля

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
BOR1K
14 / 14 / 4
Регистрация: 19.09.2009
Сообщений: 289
16.12.2009, 21:08  [ТС]     Пожалуйста обьясните мне битовые поля. #7
вы мне на примере моей задачи объясните. Пожалуйста, это единственная тема, которую я не понимаю в программировании, но еще объеденения понять немогу.

Добавлено через 1 час 4 минуты
вот
В структуре имеется 2 поля: Наименование Авто и уникальный код.
значение битов следущие: 0-7 срок эксплутации, 8 был ли авто в аварии, 9-14 инфертарный номер.

составить прогу, которая обеспечивает ввод данных, применение, расшифровку кода, вывод данных.

не могу понять что нужно сделать с полями, и как их расшифровать. подскажите..
Yandex
Объявления
16.12.2009, 21:08     Пожалуйста обьясните мне битовые поля.
Ответ Создать тему
Опции темы

Текущее время: 00:44. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru