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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: