bitset

Установите бит в определенном местоположении

Описание

пример

intout = bitset(A,bit) возвращает значение A с положением bit установите на 1 (на).

пример

intout = bitset(A,bit,assumedtype) принимает A имеет тип assumedtype.

пример

intout = bitset(A,bit,V) возвращает A с положением bit установите на значение V.

  • Если V нуль, затем позиция двоичного разряда bit установлен в 0 (прочь).

  • Если V является ненулевым, затем позиция двоичного разряда bit установлен в 1 (на).

пример

intout = bitset(A,bit,V,assumedtype) принимает A имеет тип assumedtype.

Примеры

свернуть все

Добавьте степени 2 на номер.

A = 4;
intout = bitset(A,4:6)
intout = 1×3

    12    20    36

Вы видите тот bitset последовательно включает биты 4 - 6.

c = dec2bin(intout)
c = 3x6 char array
    '001100'
    '010100'
    '100100'

MATLAB® выдает ошибку, если вы задаете целое число вне области значений assumedtype. Например, bitset(300,5,'int8') возвращает ошибку начиная с максимального значения int8 целое число равняется 127.

Избегайте этой ошибки путем ограничения входа областью значений заданного типа данных.

intout = bitset(75,5,'int8')
intout = 91

Неоднократно вычитайте степени 2 от номера.

a = intmax('uint8')
a = uint8
    255
for k = 0:7
   a = bitset(a, 8-k, 0);
   b(1,k+1) = a;
end
b
b = 1x8 uint8 row vector

   127    63    31    15     7     3     1     0

Установите несколько битов на различные значения

bits = 2:6;
val = [1 0 0 1 1];
intout = bitset(0,bits,val,'int8')
intout = 1×5

     2     0     0    16    32

Входные параметры

свернуть все

Входные значения в виде массива. A, bit, и V могут каждый быть скаляры или массивы, одного размера.

  • Если A двойной массив и assumedtype не задан, затем MATLAB® обрабатывает A как 64-битное целое число без знака.

  • Если assumedtype задан, затем все элементы в A должен иметь целочисленные значения в области значений assumedtype.

Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Позиция двоичного разряда в виде целочисленного или целочисленного массива. A, bit, и V могут каждый быть скаляры или массивы, одного размера. Значения bit должен быть между 1 (младший значащий бит) и количество битов в целочисленном классе A.

Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Принятый тип данных AВ виде 'uint64'uint32uint16uint8int64int32int16, или 'int8'.

  • Если A двойной массив, затем assumedtype может задать любой допустимый целочисленный тип, но значения по умолчанию к 'uint64'.

  • Если A массив целочисленного типа, затем assumedtype должен задать тот же самый целочисленный тип.

Типы данных: char | string

Битовое значение в виде скаляра или числового массива. A, bit, и V могут каждый быть скаляры или массивы, одного размера.

Типы данных: double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

Выходные аргументы

свернуть все

Настроенные целые числа, возвращенные как массив. intout совпадающий тип данных как A.

  • Если A, bit, и V все скаляры, затем intout также скаляр.

  • Если любой A, bit, или V массив, затем intout одного размера с тем массивом.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.

Генерация кода графического процессора
Сгенерируйте код CUDA® для NVIDIA® графические процессоры с помощью GPU Coder™.

Смотрите также

| | | | | |

Представлено до R2006a