Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
ZaMaZaN4iK
Мой лучший друг-отладчик!
164 / 164 / 9
Регистрация: 24.06.2012
Сообщений: 662
Записей в блоге: 5
Завершенные тесты: 1
#1

Битовые поля - C++

01.11.2012, 15:54. Просмотров 682. Ответов 2
Метки нет (Все метки)

Подскажмте пожалуйста новичку, что такое битовые поля.Уже перечитываю раз 11ый, а никак понять не могу.
Скажите пожалуйста популярным языком, что это такое, где применяется, как этим управлять.
только в поисковики не отсылать - там уже кучу статей перечитал - а всё непонятно(
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.11.2012, 15:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Битовые поля (C++):

Битовые операции, битовые поля. - C++
Здравствуйте! Еслть 4 диапазона чисел: 0-100, 0-100, 0-6000, 0-3. Сделать в виде битовых операций. Записать в unsigned int. Использовать...

Битовые поля. Поля без типа и имени - C++
Вчера сделал очень интересную и болезненную ошибку (с точки зрения времени, так как искал я ее долго)... представьте структуру (битовое...

Битовые поля - C++
Программа,представляет с собой структуру ломбарда т.е:. База хранимых товаров и недвижимости: анкетные данные клиента, наименование товара,...

Битовые поля - C++
Здравствуйте. Возникла необходимость работы с битовыми полями. Однако не могу понять, почему в нижеприведенном примере биты...

С++ битовые поля - C++
Написал код в котором используется характеристический вектор, все компилиться и вроде бы все замечательно, но мне нужен 20битный тип, а не...

Битовые поля - C++
Ребят, подкиньте, пожалуйста, инфу по битовым полям или ссылочку на ресурс. Может у кого-нить лекции в электронном варианте есть или...

2
MLPMan
Кандёхаем веселее!
286 / 283 / 35
Регистрация: 02.10.2012
Сообщений: 2,000
01.11.2012, 18:30 #2
Не уверен, но вроде, это когда каждый бит переменной делают, как бы, отдельной переменной, например, функция GetFileAttributes(LPCTSTR lpFileName) возвращает DWORD, и определены константы

FILE_ATTRIBUTE_READONLY = 1; (двоичное 00000001)
FILE_ATTRIBUTE_HIDDEN = 2; (двоичное 00000010)
FILE_ATTRIBUTE_SYSTEM = 4; (двоичное 00000100)
FILE_ATTRIBUTE_DIRECTORY = 16; (двоичное 00001000)

И если она возвращает 5 (00000101), то атрибуты системный, только чтение.
1
Agent Smith
40 / 40 / 9
Регистрация: 24.11.2012
Сообщений: 200
09.12.2012, 14:47 #3
битовое поле-это типа тип данных такой. оно позволяет оперировать отдельными битами в памяти с помощью побитовых операций. вот например смотри как можно двоичный код числа вывести с помощью битового поля и объединения(union)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
typedef struct bit_pole//объявляем новый тип данных типа структура, в которой объявлены 8 битовых полей 
    {                             //по 1 биту каждое
    unsigned a1:1;
    unsigned a2:1;
    unsigned a3:1;
    unsigned a4:1;
    unsigned a5:1;
    unsigned a6:1;
    unsigned a7:1;
    unsigned a8:1;
    };
    
typedef union dvoich// объявляем объединение 1-байтового числа и структуры с бит. полями.
   {                          //теперь можно записав в переменную "с" какое-нибудь число, вывести его     
    char c;                 //побитовое представление в памяти(двоичный код)
    struct bit_pole;
   };
int main()
 {
  union dvoich ch;// объявляем переменную типа объединение
  ch.c=5;// присваиваем полю "с" объединения значение 5
  printf("ch.c=%d\n",ch.c);// выводим поле "с". будет выведено "ch.c=5"
  printf("dvoichniy kod chisla %d raven %d%d%d%d%d%d%d%d",ch.c,ch.a8,ch.a7,ch.a6,ch.a5,ch.a4,ch.a3,ch.a2,ch.a1);// выводим битовые поля с конца, что связано с архитектурой intel-овских процессоров(число записывается задом наперед). будет выведено "00000101"
  getch();
  return 0;
 }
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.12.2012, 14:47
Привет! Вот еще темы с ответами:

битовые поля - C++
пользователь вводит с клавиатуры 2 беззнаковых длинных целых числа a, b. Вывести на консоль множества A, B, которые представляют битовые...

Битовые поля - C++
Подскажите пожалуйста, как мне сохранить две цифры с помощью битовых полей?

Битовые поля - C++
В приложении 1 есть пример использования битовых полей. В выделенной строке структуре присваивается бит, полученный из функции. (Кстати,...

битовые поля!! - C++
добрый вечер! имеется класс представления битовых полей: #ifndef HTBITFIELDS #define HTBITFIELDS #include <iostream> using...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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