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


















Значение бита в заданном разряде

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

y = bitget(x,pos)

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

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

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

Результат: y1=1, y2=0

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Результат:

z=
0. 0.
0. 1.

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

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