Ряд функций предназначен для поразрядной логической обработки данных:
- bitand (A,B) — возвращает поразрядное И двух неотрицательных целых аргументов А и В. Пример:
» f=bitand(7.14)
f = 6
- bitcmp(A,n) — возвращает поразрядное дополнение аргумента А как n-битовое неотрицательное целое число. Пример:
» g=bitcmp(6,4)
g = 9
- bitor (A,B) — возвращает поразрядное ИЛИ двух неотрицательных целых аргументов А и В. Пример:
» v=bitor (12,21)
v = 29
- bitmax — возвращает максимальное целое число без знака, которое может быть представлено в формате чисел с плавающей запятой применительно к используемому компьютеру. Это значение определяется для комбинации, когда все биты установлены. На машинах с IEEE-арифметикой это значение равно 253-1. Пример:
» bitmax
ans = 9.0072е+015
- bitset(A,bit,v) — устанавливает бит в позиции bit равным значению v, которое должно быть 0 или 1. Пример:
» d=bitset(12,2,1)
d = 14
- bitshift(A,n) — возвращает значение аргумента А, сдвинутое на n бит. Если n>0, это аналогично умножению на 2n (левый сдвиг). Если п<0, это аналогично делению на 2 n (правый сдвиг). Пример:
|
|
» f=b1tsh1ft(4,3)
f = 32
- bitset(A,bit) — устанавливает бит в позиции bit аргумента А в единичное значение. Аргумент А должен быть неотрицательным целым, bit — это номер в диапазоне между 1 и числом бит в целом числе, представленном в формате чисел с плавающей запятой.
- bitget(A,bit) — возвращает значение бита в позиции bit операнда А. Аргумент А должен быть неотрицательным целым числом, bit — это номер между 1 и числом бит в целом числе формата с плавающей запятой. Пример:
» disp(dec2bin(23))
» С - bitget(23,5: -l: l)
С = 1 0 1 1 1
- bitxor (A,B) — возвращает результат поразрядного исключающего ИЛИ для двух аргументов А и В. Оба аргумента должны быть целыми. Пример:
» x=bitxor (12,31)
х = 19
Чтобы операнды этих функций гарантированно были целыми числами, при их задании рекомендуется использовать функции ceil, fix, floor и round.