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

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

Войти
Регистрация
Восстановить пароль
 
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
#1

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

09.10.2010, 16:19. Просмотров 1029. Ответов 3
Метки нет (Все метки)

Здравствуйте.
Возникла необходимость работы с битовыми полями. Однако не могу понять, почему в нижеприведенном примере биты выводятся/записываются в обратном порядке.
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
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
 
struct TB
{
    unsigned r0:1;
    unsigned r1:1;
    unsigned r2:1;
    unsigned r3:1;
    unsigned r4:1;
    unsigned r5:1;
    unsigned r6:1;
    unsigned r7:1;
    unsigned r8:1;
    unsigned r9:1;
    unsigned r10:1;
    unsigned r11:1;
    unsigned r12:1;
    unsigned r13:1;
    unsigned r14:1;
    unsigned r15:1;
};
 
typedef TB *PTB;
PTB ptb1;
int main()
{
    setlocale (LC_ALL, "Rus");
    _int16 i = 0x2;
    ptb1 = (PTB)&i;
    
    std::cout << "_int16 i = " << i << std::endl;
    std::cout << ptb1->r0 << ptb1->r1 << ptb1->r2 << ptb1->r3 << ptb1->r4 << ptb1->r5 << ptb1->r6 << ptb1->r7 << ptb1->r8 << ptb1->r9 << ptb1->r10 << ptb1->r11 << ptb1->r12 << ptb1->r13 << ptb1->r14 << ptb1->r15;
    std::cout << std::endl;
    
    system ("Pause");
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.10.2010, 16:19     Битовые поля
Посмотрите здесь:

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

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

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

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

Битовые поля - C++
Добрый вечер! Помогите, пожалуйста, найти ошибку в программе. Компиляцию проходит безошибочно, но данных не выдает при запуске. ...

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт С++
4960 / 3036 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.10.2010, 16:26     Битовые поля #2
Может потому, что правый разряд - самый младший? И с него нумеруются биты. Т.е. r0 - самый младший (самый правый разряд), r1 - левее его на один разряд и т.д.
r15r14r13r12r11r10r9r8r7r6r5r4r3r2r1r0
besstiaa
94 / 94 / 7
Регистрация: 04.06.2010
Сообщений: 223
09.10.2010, 16:35  [ТС]     Битовые поля #3
silent_1991,вот меня и интересует, почему самый младший бит записывается в первый элемент структуры.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.10.2010, 18:27     Битовые поля
Еще ссылки по теме:

Битовые поля - C++
Народ, напишите программу для включения 3-го разряда однобайтового числа и переключения 7-го. Никак не понимаю что и как...Напишите пож..

Битовые поля - C++
Классы для хранения байта (в виде битовых полей)1. Создать такой метод, чтобы ноль перемещался от разряда к разряду слева направо. Помогите...

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

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

Битовые поля - C++
struct TKeyFlags { int Old :1; int :6; int ...

Битовые поля - C++
Доброго времени суток. Читаю книгу &quot;Освой самостоятельно С++ за 21 день&quot;, наткнулся на битовые поля. Читаю про их объявление: &quot;Они всегда...


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

Или воспользуйтесь поиском по форуму:
odip
Эксперт С++
7157 / 3297 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
09.10.2010, 18:27     Битовые поля #4
Тебе уже ответили
Потому что такой порядок битов - поэтому так и записывается
Yandex
Объявления
09.10.2010, 18:27     Битовые поля
Ответ Создать тему
Опции темы

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