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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 5.00
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
#1

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

29.05.2011, 16:20. Просмотров 1467. Ответов 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)
    ...
Это обращение к участку памяти(или как правильно сказать?)?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2011, 16:20     Битовая операция ->
Посмотрите здесь:

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

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

Битовая арифметика - C++
Почему при: int myVar = 15, mask = 0x00 00 00 01; //выделил разряды printf("%d", myVar & mask); Я получаю -1? Конечно, я мог бы...

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

Битовая маска - C++
Как в шифровании битовыми перестановками применить маску?

Битовая сортировка! - C++
Всем привет. Нужно написать реферат по теме "Битовая сортировка". Такого в инете, а также Википедиях и прочих джерелах даже примерно не...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ValeryLaptev
Эксперт С++
1039 / 818 / 48
Регистрация: 30.04.2011
Сообщений: 1,659
29.05.2011, 16:22     Битовая операция -> #2
Это доступ к элементу структуры через указатель на структуру.
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
29.05.2011, 16:25  [ТС]     Битовая операция -> #3
Цитата Сообщение от ValeryLaptev Посмотреть сообщение
Это доступ к элементу структуры через указатель на структуру.
А чем отличается p->cod1 от p.cod1? И можно ли в первом и во втором случае выйти за границу?
pito211
186 / 173 / 8
Регистрация: 22.03.2010
Сообщений: 612
29.05.2011, 16:29     Битовая операция -> #4
а почему битовая?
Chelioss
179 / 179 / 4
Регистрация: 08.01.2011
Сообщений: 1,133
29.05.2011, 16:33  [ТС]     Битовая операция -> #5
Цитата Сообщение от pito211 Посмотреть сообщение
а почему битовая?
Может и не битовая, просто в первые встретился с этим при работе с битами.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2011, 16:42     Битовая операция ->
Еще ссылки по теме:

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

битовая маска - C++
надо разработать функцию проверки правильности битовой маски. 32-х битная “маска” считается действительной, если ее двоичное...

битовая маска - C++
как использовать битовую маску? за пример можно взять выделение k-того разряда из n-разрядного числа (в пофиг какой системе исчесления).

64-битовая строка - C++
Необходимо реализовать структуру 64-битовой строки состоящей из двух unsigned long полей, с последующей возможностью использования битовых...

собрать число , битовая арифметика - C++
Помогите пожалуйста, а то с битовой арифметикой проблемы, получаю из color числа его каналы по следующей формуле R = (color >> 16) &...

Битовая инверсия переменной в условии цикла for - C++
Доброго времени суток. Возможно ли ещё как-то использовать/применять конструкцию с битовой инверсией итератора в условии цикла for? ...


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

Или воспользуйтесь поиском по форуму:
pito211
186 / 173 / 8
Регистрация: 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
скобки обязательны, потому что префиксные операторы связаны слабее. А так эти две записи вроде бы эквивалентны
Yandex
Объявления
29.05.2011, 16:42     Битовая операция ->
Ответ Создать тему
Опции темы

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