Да у меня совсем не такая ситуация была. Надо было преобразовать часть битов в массиве в массив логических для дальнейшего удобства. Там только 10 младших битов в слове были значащими, поэтому пришлось сделать так
И функция совсем другое у меня делает, вчера не был рядом с этой прогой. Но смысл тот же, нужно было знать бит по переменной, а не по константе.Код:FOR i:=1 TO stECOState.byLampsQty DO stECOState.arbLampState[i]:=NOT(GetBitWord(arwData[i/10],(i MOD 10)-1)); END_FOR
Про extract не знал, вообще в библиотеку util не заглядывал. Сейчас вот заглянул и вот как выглядит эта функция
Код:EXTRACT:=((SHR(X,N) AND 1)=1);




Ответить с цитированием