Сейчас уже довольно поздно отвечать, но есть простой способ узнать, установлен N-й бит или нет, просто используя математические операторы POWER и MODULUS.
Скажем, мы хотим знать, установлен ли «temp» N-й бит или нет. Следующее логическое выражение выдаст true, если бит установлен, 0 в противном случае.
- (временная температура 2 ^ N + 1> = 2 ^ N)
Рассмотрим следующий пример:
- int temp = 0x5E; // в двоичном виде 0b1011110 // BIT 0 равен LSB
Если я хочу знать, установлен 3-й бит или нет, я получаю
- (94 МОДУЛЯ 16) = 14> 2 ^ 3
Таким образом, выражение возвращает true, указывая, что установлен 3-й бит.