Я читал другие вопросы об этом, но они не отвечают на мой вопрос.Как это работает «флажок проверки бита»
В следующем коде я понимаю, что он проверяет, установлен ли этот бит, но почему мой вопрос?
bool test(uint8_t& flag)
{
return flag & (1 << 4);
}
Я не понимаю, почему она возвращает bool
и она работает, флаг uint8_t
и 1 << 4
должно быть что-то вроде этого 00010000
(я думаю). Почему этот код возвращает значение желаемого единственного бита, а не самого правого или что-то в этом роде?
Вы можете выбрать язык, используя C или C++? Похоже, C++, но я хочу убедиться. –
@KarolyHorvath: увидев использование ключевого слова bool, я бы предположил, что C здесь не имеет значения. – PlasmaHH
@PlasmaHH: '#include'. подсказка C++ - это пропуск по ссылке (что, кстати, здесь не имеет смысла), но кроме того, ответ идентичен на обоих языках. –