Подтвердить что ты не робот

Доступ к отдельным битам в char С++

Как я могу получить доступ к отдельным битам внутри типа С++, char или любого другого типа С++, например.

4b9b3361

Ответ 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 <