Битовые поля C++
Мы с Вами рассматривали понятие структуры. Полями структур, в языке программирования С++, могут быть не только переменные, но и другие образования, в частности, поля битов. Хотя правила языка не имеют ограничений на характер этих полей, кроме требования, чтобы они помещались в объеме машинного слова, в типичных применениях поля битов служат для хранения целых данных (чаще типа unsigned).
Описание поля битов состоит из описания типа поля, его имени и указанного после двоеточия размера поля в битах, например: unsigned status: 6;.
Если имя поля опущено, то создается скрытое поле. Если размер поля битов представлен числом 0, то следующее поле битов начнется с границы машинного слова.
Пример - листинг использования битового поля в 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"; }
Читайте также:
📌 Для тестирования скриптов, установщиков VPN, Python ботов рекомендуем использовать надежные VPS на короткий срок. Если вам нужна помощь с более сложными задачами, вы можете найти фрилансера, который поможет с настройкой. Узнайте больше о быстрой аренде VPS для экспериментов и о фриланс-бирже для настройки VPS, WordPress. 📌
💥 Подпишись в Телеграм 💥 и задай вопрос по сайтам и хостингам бесплатно!
7 Самых Популярных Статей
- Как запустить скрипты и веб-приложения на Python
- Что такое страны TIER 1,2,3
- 7 способов сравнения файлов по содержимому в Windows или Linux
- Установка и тестирование веб-панели HestiaCP
- Китайский VPN Shadowsocks простая установка и настройка
- top, htop, atop определение загрузки ОС (Load average, LA)
- Использование rsync в примерах