Иллюстрированный самоучитель по Matlab

         

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


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

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.



Содержание раздела