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

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

Войти
Регистрация
Восстановить пароль
 
VladislavTepes
78 / 78 / 5
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
#1

Битовые поля структур: что такое и зачем они нужны? - C++

17.03.2013, 10:45. Просмотров 829. Ответов 3
Метки нет (Все метки)

Собственно, вопрос в заголовке. Читал Шилдта, но там эта тема довольно расплывчата. Надеюсь, кто-нибудь сможет доходчиво объяснить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.03.2013, 10:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Битовые поля структур: что такое и зачем они нужны? (C++):

Что такое hash-таблицы, и зачем они нужны? - C++
Обьясните пожалуста по простому что такое хеш таблици и зачем они надо... пытался разобратся с ними сам, но ничего не получилось....

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

Что такое h -файл и obj-файл?Зачем они нужны? - C++
1.Что такое h -файл и obj-файл?Зачем они нужны?

Что за векторы и зачем они нужны - C++
Читал книгу по программированию на С++ и дошел до раздела векторы. Вот хотел у вас спросить за чем они нужны? и мне они напоминают массивы

Что означают ключевые слова default, delete и зачем они нужны - C++
Собственно сабж. Часто встречаю что методу можно присвоить какое то значение, например virtual void method() = 0 означает что этот метод...

Выравнивание структур. Битовые поля - C++
Есть такой код: #pragma pack(push, 1) struct SC { unsigned char a : 1; unsigned char b : 1; unsigned char ...

3
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
17.03.2013, 12:36 #2
Чтобы было удобнее обращаться к отдельным битам.

Надо в низкоуровневых вещах вроде сетевых протоколов и т. п.

В принципе, можно пользоваться масками (и битовые поля компилируются в маски), но кому-то удобнее так.
0
VladislavTepes
78 / 78 / 5
Регистрация: 27.06.2012
Сообщений: 555
Записей в блоге: 1
17.03.2013, 13:12  [ТС] #3
OhMyGodSoLong, пример не покажете?
0
OhMyGodSoLong
~ Эврика! ~
1244 / 993 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
17.03.2013, 13:41 #4
Ну вот вам пример с потолка: заголовок TCP-пакета.
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
struct tcp_header {
    uint16_t src;
    uint16_t dst;
    uint32_t seq;
    uint32_t ack;
    
    uint16_t offset      : 4;
    uint16_t             : 3; // reserved
    
    uint16_t ECN_NS      : 1;
    uint16_t ECN_CWR     : 1;
    uint16_t ECN_ECE     : 1;
    
    uint16_t control_URG : 1;
    uint16_t control_ACK : 1;
    uint16_t control_PSH : 1;
    uint16_t control_RST : 1;
    uint16_t control_SYN : 1;
    uint16_t control_FIN : 1;
 
    uint16_t window;
    uint16_t checksum;
    uint16_t urgent;
};
0
17.03.2013, 13:41
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.03.2013, 13:41
Привет! Вот еще темы с ответами:

Что такое compile-time алгоритмы и для чего они нужны? - C++
А есть от них хоть какая-то практическая польза? По-моему нет

сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь усложнять? - C++
сегодня наконец то понял что такое КЛАСС, и ОБЪЕКТ. понято всё, кроме одного - зачем всё это? в смысле, можно же без этого? так зачем жизнь...

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы - C++
Заранее спасибо.

Что такое рекурсия? Зачем она нужна? - C++
Объясните пож человеческим языком, что такое Рекурсия. Я знаю что это вызов функции самой себя. Но всё равно не могу догнать зачем...


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

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

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