Зураб Михайлович
ММ
Мирза Мирзоев
and 3 - наложение маски на результат. другими словами, если нужно выделить определенные биты, стоящие на определенных местах, то на результат накладывается маска - все биты, кроме нужных, обнуляются и остаются только нужные.
На данном примере:
FF shr 5 - сдвиг вправо на 5 битов, левые биты обнуляются
1111 1111 shr(5) = 0000 0111
and 3 - маска: 0000 0011
Накладываем маску на результат:
0000 0111 and 0000 0011 = 0000 0011
Получается, что в наложение маски (and 3) оставит только последние 2 бита неизмененными.
-----------Другой пример: X and 13
13 -> 0000 1101 - при наложении маски выделяются биты из результата: 1, 3 и 4.
Выделение нужных битов очень часто требуется при реализации протоколов сетевых приложений.
Похожие вопросы