Как правило, бит идентификаторы начинаются с 0 с наименьшего значимого конца, например со следующего октета:
+----+----+----+----+----+----+----+----+
| b7 | b6 | b5 | b4 | b3 | b2 | b1 | b0 |
+----+----+----+----+----+----+----+----+
80 40 20 10 08 04 02 01 <-- hex value
В то время как бит может принимать либо 0
, либо 1
значение, , которое не ограничивает их идентификаторы, , которое может варьироваться от нуля до количества битов минус 1.
Для объяснения побитовогооператоры, см. здесь .
Например, если вы хотите узнать, был ли b3
установлен в C:
b3 = value & 0x08; // non-zero if set.
Аналогично, настройка b0 и очистка b7можно сделать с помощью:
value = (value | 0x01) & 0x7f; // or with 0000-0001, and with 0111-1111.