Как я могу получить доступ к отдельным битам внутри типа С++, char
или любого другого типа С++, например.
Доступ к отдельным битам в char С++
Ответ 1
Если вам нужен бит доступа N
:
Получить: (INPUT >> N) & 1;
Установить: INPUT |= 1 << N;
Unset: INPUT &= ~(1 << N);
Переключить: INPUT ^= 1 << N;
Ответ 2
Вы бы использовали бинарные операторы |
(или), &
(и) и ^
(xor), чтобы установить их. Чтобы установить третий бит переменной a
, вы должны напечатать, например:
a = a | 0x4
// c++ 14
a = a | 0b0100
Обратите внимание, что двоичное представление 4s - 0100
Ответ 3
Это очень легко Допустим, вам нужно получить доступ к отдельным битам целого числа Создайте такую маску int mask = 1; теперь, и ваше число с этой маской дает значение, установленное на нулевом бите для доступа к биту, установленному в i-й позиции (индексы начинаются с нуля), просто и с (mask <