de2bi

Преобразуйте десятичные числа в двоичные векторы

Описание

пример

b = de2bi(d) преобразует неотрицательное десятичное целое число d в двоичный вектор-строку. Если d является вектором, выходным b - матрица, в которой каждая строка является двоичной формой соответствующего элемента в d.

b = de2bi(d,n) имеет выход с n столбцы.

пример

b = de2bi(d,n,p) преобразует неотрицательное десятичное целое число d в базовый p Вектор-строка.

b = de2bi(d,[],p) задает основу, p .

пример

b = de2bi(d,___,flg) использует flg определить, является ли первый столбец b содержит цифры наименьшего порядка или наивысшего порядка.

Примеры

свернуть все

Преобразуйте десятичные числа с 1 по 10 в эквивалентные им двоичные представления.

d = (1:10)';
b = de2bi(d);
[d b]
ans = 10×5

     1     1     0     0     0
     2     0     1     0     0
     3     1     1     0     0
     4     0     0     1     0
     5     1     0     1     0
     6     0     1     1     0
     7     1     1     1     0
     8     0     0     0     1
     9     1     0     0     1
    10     0     1     0     1

Преобразуйте 3 и 9 в двоичные числа. Каждое значение представлено строкой с четырьмя элементами.

b = de2bi([3 9])
b = 2×4

     1     1     0     0
     1     0     0     1

Повторите преобразование с количеством столбцов, установленным на 5. Теперь выход заполнен нулями в пятом столбце.

bb = de2bi([3 9],5)
bb = 2×5

     1     1     0     0     0
     1     0     0     1     0

Преобразуйте десятичные числа с 1 по 6 в их основу -3 эквивалента. Установите самый левый бит как самую значимую цифру.

d = (1:6)';
t = de2bi(d,[],3,'left-msb');
[d t]
ans = 6×3

     1     0     1
     2     0     2
     3     1     0
     4     1     1
     5     1     2
     6     2     0

Этот пример показов, как преобразовать десятичные числа в двоичные числа в их основу -2 эквивалентах.

d_array = [1 2 3 4];

Преобразуйте десятичный массив в двоичный при помощи de2bi функция. Укажите, что самая значимая цифра является крайним левым элементом, и установите количество требуемых столбцов равным 5. Выход становится матрицей 4 на 5, где каждая строка соответствует десятичному значению от входа. Потому что самое большое десятичное значение в d_array могут быть выражены в 3 столбца, de2bi заполняет матрицу двумя дополнительными нулевыми столбцами на указанной наиболее значимой битовой стороне. Если вы задаете слишком мало столбцов, преобразование будет неудачным.

b_array = de2bi(d_array,5,'left-msb')
b_array = 4×5

     0     0     0     0     1
     0     0     0     1     0
     0     0     0     1     1
     0     0     1     0     0

b_array = de2bi(d_array,5,'right-msb')
b_array = 4×5

     1     0     0     0     0
     0     1     0     0     0
     1     1     0     0     0
     0     0     1     0     0

Если вы не задаете количество столбцов, количество столбцов именно то, что необходимо для выражения наибольшего десятичного числа входного входа.

b_array = de2bi(d_array,'left-msb')
b_array = 4×3

     0     0     1
     0     1     0
     0     1     1
     1     0     0

Строки выхода для определения самого левого-значащего бита соответствуют:

1=0(22)+0(21)+1(20)

2=0(22)+1(21)+0(20)

3=0(22)+1(21)+1(20)

4=1(22)+0(21)+0(20)

b_array = de2bi(d_array,'right-msb')
b_array = 4×3

     1     0     0
     0     1     0
     1     1     0
     0     0     1

Строки выхода для определения самого правого-значащего бита соответствуют:

1=1(20)+0(21)+0(22)

2=0(20)+1(21)+0(22)

3=1(20)+1(21)+0(22)

4=0(20)+0(21)+1(22)

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

свернуть все

Десятичный вход, заданный как неотрицательное целое число, вектор или матрица. Если d является матрицей, она обрабатывается как вектор-столбец d(:).

Примечание

Чтобы гарантировать точное преобразование, d должно быть меньше или равно 252.

Типы данных: double | single | integer | fi

Количество выхода столбцов в виде положительной скалярной величины. При необходимости двоичное представление d заполнен дополнительными нулями.

Типы данных: double | single

Основа из выхода b, задается как целое число, больше или равное 2.

  • Если d является вектором, выходным b - матрица, в которой каждая строка является основой p форма соответствующего элемента в d.

  • Если d является матрицей, de2bi относится к нему как к вектору d(:).

Типы данных: double | single

Флаг MSB, заданный как 'right-msb' или 'left-msb'.

  • 'right-msb' -- Указывает правый (или последний) столбец двоичного выхода, b, как самый значительный бит (или цифра наивысшего порядка).

  • 'left-msb' -- Указывает левый (или первый) столбец двоичного выхода, b, как самый значительный бит (или цифра наивысшего порядка).

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

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

свернуть все

Двоичное представление d, возвращенный как вектор-строка или матрица. Это выход из совпадающего типа данных как вход.

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

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

.

См. также

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