tgoop.com/cppproglib/4708
Create:
Last Update:
Last Update:
🧨 Как установить, очистить и переключить один бит?
❗️Установка бита
- Используется побитовый оператор OR (|), чтобы установить n-й бит number в 1 значение
- Стоит помнить, что сдвиг больше, чем на ширину типа, является неопределенным поведением
typedef unsigned long ulong;
ulong bit_set(ulong number, ulong n) {
return number | ((ulong)1 << n);
}
❗️Очистка бита
- Используется побитовый оператор AND (&) , чтобы установить n-й бит number в 0 значение
- Вы должны инвертировать битовую строку с помощью побитового оператора NOT (~) , затем оператор &
ulong bit_clear(ulong number, ulong n) {
return number & ~((ulong)1 << n);
}
❗️Переключение бита
- Используйте побитовый оператор XOR (^) для переключения n-го бита number
ulong bit_toggle(ulong number, ulong n) {
return number ^ ((ulong)1 << n);
}
❗️Проверка бита
- Чтобы проверить бит, сдвиньте number вправо на n бит , затем воспользуйтесь &
bool bit_check(ulong number, ulong n) {
return (number >> n)& (ulong)1;
}
BY Библиотека C/C++ разработчика | cpp, boost, qt
Share with your friend now:
tgoop.com/cppproglib/4708