Среда разработки Unimod PRO 2 (версия 2.3.40)
 Руководство по программированию
×

SETBIT - запись одного бита в целое число


Назначение.
Функция SETBIT() перезаписывает один бит в 32-битном целочисленном значении.
 
Входные параметры.
  • in1 - тип данных BOOLEAN (значение записываемого бита).
  • in2 - тип данных INTEGER (смещение в битах), значение в диапазоне [0 .. 31].
  • in3 - тип данных INTEGER (значение переменной до записи бита).
     
Выходной параметр.
  • out - тип данных INTEGER (значение переменной после записи бита). Если in2<0 или in2>31, выход out=in3.
 
Описание алгоритма.
В 32-битном целом числе in3 значение бита с порядковым номером in2 будет заменено на значение in1, результат передается на выход out в виде целого числа. Значения других битов в числе in3 не изменяются.
 
Описание синтаксиса.
На языке ST
На языках FBD/LD
out := SETBIT(in1, in2, in3)
Примеры:
SETBIT(false, 9, 2024);   //out = 1512
SETBIT(true, 11, 2024); //out = 4072
SETBIT(true, 33, 2024); //out = 2024
SETBIT(true, -1, 2024); //out = 2024
  Примеры: