Зураб Михайлович
Зураб Михайлович

if Fam=$28 then Usr3:=(TByte($FF) shr 5) and 3; Что такое "and 3"??? И как это оформить на c#?

ММ
Мирза Мирзоев

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.

Выделение нужных битов очень часто требуется при реализации протоколов сетевых приложений.

Похожие вопросы
Паскаль. Можно в if-then-else после if писать два раза or? а условие какой-нибудь буквой заменять?
Метод к задаче + if then else.
найдите ошибку: . =IF(E2<4);140; IF(AND(E2=<4>4,5));200; IF(AND(E2=>4,5<5));300; IF((E2=5); 500)
Помогите с Делфи! if a>=d and b<=e then ShowMessage('Перший вміщується'); Подчеркивает первую стр. Что не так?
Помогите с кодом IF form2.Edit2.Text='text' and form2.Edit1.Text='text' then form1.show;
что не так program lаn15; var x : integer ; begin writeln ('введите число'); read (x); if (x/2) and (X/3) then writ
Как работает вложенный if в C++?
IF THEN ELSE! (Делфи) Кто разбирается,подскажите
Вопрос по Delphi. нужна помощь нужно через функию if,then,else показать что если if Sqr (D) = целое число then
что это такое if Button1.Left>10 then Button1.Left:=Button1.Left-10;