Главная SciLab Функции SciLab Логические (битовые) функции SciLab Установка бита в заданном разряде


















Установка бита в заданном разряде

Описание. Устанавливает значение бита целого положительного аргумента x в заданной позиции pos. Результат возвращается в виде десятичного числа после проведения замены битов. x, y имеют одинаковый тип и размерность (число, вектор, матрица).

y = bitset(x,pos, bit)

Аргументы. Допускается задание аргументов в виде числа, вектора, двухмерной или многомерной матрицы. Элементы, входящие в аргументы x и pos должны быть целыми положительными числами. Значения pos находятся в диапазоне от 1 до максимального разряда аргумента x. Значение bit (устанавливаемое значение бита) может быть '1' или '0' (аргумент не обязателен, по умолчанию имеет значение '1').

Пример 1. Целые числа.

x = 5;
y1 = bitset(x,1)
y2 = bitset(x,2)

Результат: y1=5, y2=7

Тот же пример можно задать в виде:

x = 5;
y = bitset(x,[1 2])

Для диапазона значений (результат: 11 15 11 27):

x = 11;
y = bitset(x,(2:5))

Для диапазона значений в обратном порядке (результат: 27 11 15 11):

x = 11;
y = bitset(x,(5:-1:2))

Зануление разрядов (результат: 9 11 3 11):

x = 11;
y = bitset(x, (2:5), 0)

Пример 2. Вектора.

x = [1 2 3];
y1 = bitset(x,1)
y2 = bitset(x,1,0)

Результат: y1=[1 3 3], y2=[0 2 2]

Значения битов в разных позициях для каждого числа:

x = [1 2 3];
y = bitset(x,[1 2 3])

Результат y=[1 2 7]

Пример 3. Двухмерные матрицы.

x = [[1 2]' [3 4]'];
y = bitset(x,3)

Результат:

y=
5. 7.
6. 4.

Смотрите также:

Логические функции SciLab