Функции поразрядной обработки
Ряд функций предназначен для поразрядной логической обработки данных:
- 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.0072e+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>> C = bitget(23.5:-1:1) C =1 0 1 1 1- bitxor(A, В) – возвращает результат поразрядного исключающего ИЛИ для двух аргументов А и В. Оба аргумента должны быть целыми. Пример:
>> x=bitxor(12.31) x =19Чтобы операнды этих функций гарантированно были целыми числами, при их задании рекомендуется использовать функции ceil, fix, floor и round.
