Различия

Показаны различия между двумя версиями страницы.


bitovye_polja [2021/07/31 21:57] (текущий) – создано - внешнее изменение 127.0.0.1
Строка 1: Строка 1:
 +====== Битовые поля C++ ======
 +Мы с Вами рассматривали [[struct|понятие структуры]]. Полями структур, в [[zametki_po_jazyku_c|языке программирования С++]], могут быть не только переменные, но и другие образования, в частности, поля битов. Хотя правила языка не имеют ограничений на характер этих полей, кроме требования, чтобы они помещались в объеме машинного слова, в типичных применениях поля битов служат для хранения целых данных (чаще типа unsigned).
  
 +Описание поля битов состоит из описания типа поля, его имени и указанного после двоеточия размера поля в битах, например: unsigned status: 6;. 
 +
 +Если имя поля опущено, то создается скрытое поле. Если размер поля битов представлен числом 0, то следующее поле битов начнется с границы машинного слова. 
 +
 +Пример - листинг использования битового поля в CPP.
 +<file cpp>
 +#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";
 +}
 +</file>
 +
 +Читайте также:
 +  * [[zametki_po_jazyku_c]]
 +  * [[struct]]
 +  * [[ukazateli_na_obekty]]
 +  * [[sizeof]]

📌 Удобный подбор VPS по параметрам доступен на DIEGfinder.com - официальном инструменте проекта DIEG. Это часть единой экосистемы, созданной для того, чтобы помочь быстро найти подходящий VPS/VDS сервер для любых задач хостинга.

📌 Для тестирования скриптов, установщиков VPN и Python-ботов рекомендуем использовать надежные VPS на короткий срок. Подробнее о быстрой аренде VPS для экспериментов - читайте здесь.

💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!