Главная » Статьи » Програмування » C [ Добавить статью ]

RUS Уроки по программированию на языке С (Битовые поля.)

Битовые поля.

В прошлом уроке мы с Вами рассматривали понятие структуры. Полями структур могут быть не только переменные, но и другие образования, в частности, поля битов. Хотя правила языка не имеют ограничений на характер этих полей, кроме требования, чтобы они помещались в объеме машинного слова, в типичных применениях поля битов служат для хранения целых данных (чаще типа unsigned).

Описание поля битов состоит из описания типа поля, его имени и указанного после двоеточия размера поля в битах, например: unsigned status: 6;.

Если имя поля опущено, то создается скрытое поле. Если размер поля битов представлен числом 0, то следующее поле битов начнется с границы машинного слова.

Пример.
#include <iostream>
using namespace std;
void Binary(unsigned);
void main()
{
 struct Bits
 { 
 unsigned bit1: 3;
 unsigned bit2: 2;
 unsigned bit3: 3;
 } Good;
 
 Good.bit1 = 4;
 Good.bit2 = 3;
 Good.bit3 = 6;
 cout<<"Show: "<<Good.bit1<<" ";
 cout<<Good.bit2<<" ";
 cout<<Good.bit3<<"\n\n";
 cout << "Sum: ";
 Binary(Good.bit1 + Good.bit2 + Good.bit3);
} 
// Функция выводит на экран двоичное представление числа A.
void Binary (unsigned A) 
{
 int i,N;
 if(A>255)
 N = 15;
 else
 N = 7;
 for (i=N; i >= 0; i--)
 { 
 cout<<((A>>i)&1);
 if(i==8)
 cout<<" ";
 }
 cout<<"\n\n";
}
Категория: C | Добавил: DEN-SHP (06.11.2012)
Просмотров: 678 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]