Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Битовые поля
Логический тип данных bool
может содержать только значения true
(соответствует числу 1
) или false
(соответствует числу 0
). Эти значения помещаются в один бит, однако тип данных bool
занимает в памяти целый байт (восемь бит). Остальные семь бит не содержат значений. Язык C++ поддерживает битовые поля, которые предоставляют доступ к отдельным битам, позволяя тем самым хранить в одной переменной несколько значений, занимающих указанное количество бит. Следует учитывать, что минимальный размер битового поля будет соответствовать типу int
. Объявление битового поля имеет следующий формат:
struct [<Название битового поля>] {
<Тип данных> [<Название поля 1>]:<Длина в битах>;
...
<Тип данных> [<Название поля N>]:<Длина в битах>;
} [<Объявления переменных через запятую>];
В одной структуре можно использовать одновременно битовые поля и обычные поля. Обратите внимание на то, что название битового поля можно не указывать, кроме того, если длина поля составляет один бит, то перед названием поля следует указать ключевое слово unsigned
. Пример объявления битового поля и переменной:
struct Status {
unsigned flag1:1;
unsigned flag2:1;
unsigned flag3:1;
} status = {0, 1, 1};
Доступ к полю осуществляется также как и к полю структуры:
std::cout << status.flag1 << std::endl; // 0
std::cout << status.flag2 << std::endl; // 1
std::cout << status.flag3 << std::endl; // 1
status.flag1 = 1;
std::cout << status.flag1 << std::endl; // 1
std::cout << sizeof(Status) << std::endl; // 4
Реквизиты
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов