Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
185 / 185 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
1

Битовая операция ->

29.05.2011, 16:20. Просмотров 1632. Ответов 5
Метки нет (Все метки)

Что делает операция ->
К примеру, есть структура:
C++
1
2
3
4
5
struct BIT{ unsigned int cod1:3;
                                               :1;
                       unsigned int cod2 : 3;
                                               : 1;
                      };
То можно делать так:
C++
1
2
3
 BIT* p = (BIT*) &word; // word - типа char
 if (p->cod1 ==  p->cod2)
    ...
Это обращение к участку памяти(или как правильно сказать?)?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.05.2011, 16:20
Ответы с готовыми решениями:

Битовая операция с отрицательным числом
Есть такой код int main() { int k = 12; cout << (k & -k); return 0; } Выводит этот код

Битовая операция "ИЛИ" эквивалентна операции сложения для двух целых чисел?
Всем привет. Скажите, пожалуйста, битовая операция "ИЛИ" эквивалентна операции сложения для двух...

Битовая операция
Выполнить проверку заданного (вводится с клавиатуры) бита числа В и если заданный бит имеет...

Битовая арифметика
Добрый день, форумчане! Как реализовать функцию или процедуру так, чтоб он обменял битами между...

5
Эксперт С++
1061 / 840 / 60
Регистрация: 30.04.2011
Сообщений: 1,659
29.05.2011, 16:22 2
Это доступ к элементу структуры через указатель на структуру.
1
185 / 185 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
29.05.2011, 16:25  [ТС] 3
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Это доступ к элементу структуры через указатель на структуру.
А чем отличается p->cod1 от p.cod1? И можно ли в первом и во втором случае выйти за границу?
0
186 / 173 / 18
Регистрация: 22.03.2010
Сообщений: 612
29.05.2011, 16:29 4
а почему битовая?
1
185 / 185 / 21
Регистрация: 08.01.2011
Сообщений: 1,139
29.05.2011, 16:33  [ТС] 5
Цитата Сообщение от pito211 Посмотреть сообщение
а почему битовая?
Может и не битовая, просто в первые встретился с этим при работе с битами.
0
186 / 173 / 18
Регистрация: 22.03.2010
Сообщений: 612
29.05.2011, 16:42 6
Цитата Сообщение от Chelioss Посмотреть сообщение
p->cod1 от p.cod1
в первом случае р это указатель, сначала ты должен выделить память и проинициалировать его с помощью new, прежде чем обращаться к его данным и методам. А потом удалить с помощью delete. То есть ты сам можешь контролировать время жизни объекта. А во втором случае
C++
1
2
3
4
5
6
7
8
{
   BIT p;
    //something code
   {
       //something code
   }
   //something code
} <- здесь будет вызван деструктор для р
то есть ты не можешь во втором случае кнтроировать время жизни объекта.

p.s. Чё нигде не соврал?

Добавлено через 38 секунд
не к битам никакого отношения она не имеет

Добавлено через 5 минут
если тебя смущает такая запись
C++
1
p->cod1
то можно заменить её на
C++
1
(*p).cod1
скобки обязательны, потому что префиксные операторы связаны слабее. А так эти две записи вроде бы эквивалентны
2
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.05.2011, 16:42

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Битовая инверсия
Доброго времени суток! Я что-то запутался с побитовой инверсией. В коде прописываю int a=5;...

Битовая арифметика
Почему при: int myVar = 15, mask = 0x00 00 00 01; //выделил разряды printf(&quot;%d&quot;, myVar &amp; mask);...

3-х 2-х битовая коррекция
Собственно вычисляю значения в двоично-восьмеричной и двоично-четверичной СС. Суммирую как...

Битовая арифметика
Всем привет, может кто ниб поедлится любой прогой по переводу из одного бита в другой!!пожалуйста!


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

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

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