Функции
поразрядной обработки
Ряд функций
предназначен для поразрядной логической обработки данных:
-
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-арифметикой это значение равно 2
53
-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>0, это
аналогично умножению на 2" (левый сдвиг). Если n<0, это аналогично
делению на 2n (правый сдвиг). Пример:
»
f=bitshift(4.3)
f =
32
-
bitset(A.bit)
— устанавливает бит в позиции bit аргумента А в единичное значение. Аргумент
А должен быть неотрицательным целым, bit — это номер в диапазоне между
1 и числом бит в целом числе, представленном в формате чисел с плавающей
запятой.
-
bitget(A.bit)
— возвращает значение бита в позиции bit операнда А. Аргумент А должен быть
неотрицательным целым числом, bit — это номер между 1 и числом бит в целом
числе формата с плавающей запятой. Пример:
»
disp(dec2bin(23))
10111
»
С = bitget(23.5:-l:l)
С
=
1
0 1 1 1
-
bitxor(A,
В) — возвращает результат поразрядного исключающего ИЛИ для двух аргументов
А и В. Оба аргумента должны быть целыми. Пример:
»
x=bitxor(12.31)
х =
19
Чтобы операнды
этих функций гарантированно были целыми числами, при их задании рекомендуется
использовать функции ceil, fix, floor и round.
Содержание раздела