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

BSHIFT (побитовый сдвиг)



BSHIFT(значение,счетчик)


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

Функция BSHIFT сдвигает биты ЗНАЧЕНИЯ на СЧЕТЧИК битов. ЗНАЧЕНИЕ может быть сдвинуто ВЛЕВО (от младших битов к старшим) или ВПРАВО (от старших к младшим), освобождающиеся места заполняются нулями.
(А.С.П. - можно сказать, что BSHIFT умножает (СЧЕТЧИК>0) или делит (СЧЕТЧИК<0) ЗНАЧЕНИЕ на 2 в степени СЧЕТЧИК. Скажем, чтобы умножить Х на 16 можно выполнить либо А=Х*16 либо А=BSHIFT(X,4), причем последнее выражение выполнится быстрее первого, поскольку обычно реализуется на уровне процессорной команды сдвига. В ФОРТЕ используется именно этот принцип)
Возвращаемый тип данных: LONG
Пример:
BSHIFT(0110b,1) вернет 1100b
BSHIFT(0110b,-1) вернет 0011b
Varswitch = BSHIFT(20,3) !Умножаем на 8
Varswitch = BSHIFT(Varswitch,-2) !Делим на 4
(А.С.П. - когда я писал свое примечание, я еще не смотрел на две предыдущие строки :)





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