Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.07.2010, 11:16   #1
tela
 
Регистрация: 12.01.2009
Сообщений: 5
Сообщение Чтение битового поля

Всем доброго времени суток!
Есть обьявленое битовое поле (его размер как я понял всегда кратен 4 байтам). Записать данные в переменные этого битового поля не проблема. Но для понимания каким образом компилятор выделяет память, и есть ли промежутки в памяти между переменными битового поля, хотелось бы обратится по адресу переменной bfVar, и побитово прочесть значения которые хранятся в этой переменной! Код приведен ниже...
Подскажите пожалуйста как это лучше всего сделать...
P.S. Заранее приношу извинения за возможно корявую трактовку вопроса

Код:
struct BitField
{
unsigned int i2 : 2;
unsigned int i4 : 4;
};

int _tmain(int argc, _TCHAR* argv[])
{

BitField bfVar;
bfVar.i2 = 2;
bfVar.i4 = 7;
...
}
tee_off

Последний раз редактировалось Stilet; 29.07.2010 в 11:29.
tela вне форума Ответить с цитированием
Старый 30.07.2010, 21:30   #2
Sazary
В тени
Старожил
 
Аватар для Sazary
 
Регистрация: 19.12.2008
Сообщений: 5,788
По умолчанию

Вроде, показывает верно.
Код:
#include <iostream>
#include <conio.h>
using namespace std;

struct BitField
{
unsigned char i2 : 2;  // структура будет иметь размер 1 байт
unsigned char i4 : 4;
};

int main()
{
BitField bfVar;
bfVar.i2 = 1;
bfVar.i4 = 7;

for(int i=7; i>=0; i--)
 cout<<((*((char*)&bfVar)&(1<<i))?1:0);
 
 getch();
 return 0;
}
Просто берем адрес структуры и побитово выводим.
Вполне очевидно, чтобы что-то понять, необходимо книги читать.
Не нужно плодить бессмысленных тем. Вас Поиск избавит от многих проблем.

___________________________________ ___________________________________ _______
[=Правила форума=]_____[Поиск]_____[Литература по С++]____[Литература. Паскаль]
Sazary вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Измененние цвета фона поля (поля со списком) при редактировании TimRus Microsoft Office Access 2 17.05.2010 21:56
как получить значение поля грид на основе значения другого lookUp поля malayka БД в Delphi 0 21.04.2010 19:06
Вывести на экран шестнадцатиричное представление битового образа из памяти Kravnos Общие вопросы C/C++ 1 01.12.2009 23:49
Выявление одинаковости значений поля в одной талице по значению поля в другой nikmay SQL, базы данных 4 13.08.2009 12:51
Чтение, чтение и еще раз чтение Alex Cones Общие вопросы Delphi 3 07.06.2009 15:28