7. Функции поразрядной обработки

 

Функции поразрядной обработки

Ряд функций предназначен для поразрядной логической обработки данных:

  • 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.