Работа с битовыми масками

Материал из K3-Macro
Макро | Математические функции | Алгебраические и тригонометрические функции | Функции работы с матрицами | Функции аффинных преобразований | Работа с векторами | Функции геометрических вычислений | Преобразование координат точек и векторов | Работа с битовыми масками

Команды BitClear, BitSet, BitTest, NBitClear, NBitSet, NBitTest


INTEGER BitClear(INTEGER <iValue>, INTEGER <iMask>)

Функция сбрасывает (обнуляет) биты в <iValue>, для которых в <iMask> стоит значение 1. Остальные биты в <iValue> не изменяются. Функция возвращает результирующее значение.


INTEGER BitSet(INTEGER <iValue>, INTEGER <iMask>)

Функция устанавливает в единицу биты в <iValue>, для которых в <iMask> стоит значение 1. Остальные биты в <iValue> не изменяются. Функция возвращает результирующее значение.


INTEGER BitTest(INTEGER <iValue>, INTEGER <iMask>)

Если хотя бы один бит в <iValue>, для которых в <iMask> стоит значение 1, равен единице, то функция возвращает 1, иначе - возвращает 0.


INTEGER NBitClear(INTEGER <iValue>, INTEGER <nBit>)

Функция сбрасывает (обнуляет) один бит с номером <nBit> в <iValue>. Значения <nBit> могут быть от 1 (крайний правый) до 32 (крайний левый). Функция возвращает результирующее значение.


INTEGER NBitSet(INTEGER <iValue>, INTEGER <nBit>)

Функция устанавливает в единицу один бит с номером <nBit> в <iValue>. Значения <nBit> могут быть от 1 (крайний правый) до 32 (крайний левый). Функция возвращает результирующее значение.


INTEGER NBitTest(INTEGER <iValue>, INTEGER <nBit>)

Если один бит с номером <nBit> в <iValue> равен 1, функция возвращает 1. В противном случае, функция возвращает 0. Значения <nBit> могут быть от 1 (крайний правый) до 32 (крайний левый).


Макро | Математические функции | Алгебраические и тригонометрические функции | Функции работы с матрицами | Функции аффинных преобразований | Работа с векторами | Функции геометрических вычислений | Преобразование координат точек и векторов | Работа с битовыми масками