Документация по Clarion

         

BAND (побитовое И - AND)



BAND(значение,маска)


значение Числовая константа, переменная или выражение,
задающее битовое значение, на которое накладывается МАСКА. ЗНАЧЕНИЕ, при необходимости, преобразуется к типу LONG перед операцией.
маска Числовая константа, переменная или выражение, задающее битовую маску. При необходимости, МАСКА преобразуется к типу LONG перед выполнением операции.

Функция BAND сравнивает ЗНАЧЕНИЕ с МАСКОЙ, выполняя операцию ЛОГИЧЕСКОЕ И над каждым битом. Возвращается длинное целое, в котором единицы будут только в тех местах, где они были и в ЗНАЧЕНИИ и в МАСКЕ, в остальных местах будут нули.
BAND обычно используется для выяснения значения одного или нескольких бит (0 или 1) в переменной.
Возвращаемый тип данных: LONG

Пример:
BAND(0110b,0010b) вернет 0010b !0110b = 6, 0010b = 2
RateType BYTE !Тип оклада
Female EQUATE(0001b) !Маска для женщин
Male EQUATE(0010b) !Маска для мужчин
Over25 EQUATE(0100b) !Маска для тех, кто старше 25 лет
CODE
IF BAND(RateType,Female) | !Если женщина
AND BAND(RateType,Over25 ! старше 25 лет,
DO BaseRate ! то премия - обычная
ELSIF BAND(RateType,Male) !Если мужчина,
DO AdjBase ! то подправить размер премии
. !End if



Содержание раздела