bi2de

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

Описание

пример

d = bi2de(b) преобразует вектор строки двоичных знаков b к десятичному целому числу.

пример

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

d = bi2de(b,p) преобразует основу-p вектор-строка b к десятичному целому числу.

пример

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

Примеры

свернуть все

Сгенерируйте матрицу, которая содержит бинарные представления пяти случайных чисел между 0 и 15. Преобразуйте двоичные числа в десятичные целые числа.

b = randi([0 1],5,4);
d = bi2de(b)
d = 5×1

     1
     5
    14
    11
    15

В этом примере показано, как преобразовать двоичные числа в десятичные целые числа. Это подсвечивает различие между правом - и лево-старшим значащим расположением цифры.

b1 = [0 1 0 1 1];
b2 = [1 1 1 0];

Преобразуйте эти два двоичных массива в десятичное число при помощи bi2de функция. Присвоение старшая значащая цифра является крайним левым элементом. Выход преобразования b1 соответствует 0(24)+1(23)+0(22)+1(21)+1(20)=11, и b2 соответствует 1(23)+1(22)+1(21)+0(20)=14.

d1 = bi2de(b1,'left-msb')
d1 = 11
d2 = bi2de(b2,'left-msb')
d2 = 14

Присвоение старшая значащая цифра является самым правым элементом. Выход преобразования b1 соответствует 0(20)+1(21)+0(22)+1(23)+1(24)=26, и b2 соответствует 1(20)+1(21)+1(22)+0(23)=7.

d1 = bi2de(b1,'right-msb')
d1 = 26
d2 = bi2de(b2,'right-msb')
d2 = 7

Преобразуйте восьмеричное (базируйтесь 8), номер к его десятичному эквиваленту.

Присвойте старшую значащую цифру крайнему левому положению. Выход соответствует 4(83)+2(82)+7(81)+1(80)=2233.

d = bi2de([4 2 7 1],8,'left-msb')
d = 2233

Присвойте старшую значащую цифру самому правому положению. Выход соответствует 4(80)+2(81)+7(82)+1(83)=980.

d = bi2de([4 2 7 1],8,'right-msb')
d = 980

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

свернуть все

Двоичный вход в виде вектора-строки или матрицы.

Примечание

b должен представлять целое число, меньше чем или равное 252.

Флаг MSB в виде 'right-msb' или 'left-msb'.

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

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

Основа входа bВ виде целого числа, больше, чем или равный 2.

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

свернуть все

Десятичный выходной параметр, возвращенный как неотрицательный целочисленный или вектор-строка. Если b матрица, каждая строка представляет основу-p номер. В этом случае, выход d вектор-столбец, в котором каждым элементом является десятичное представление соответствующей строки b.

Если значение d может содержаться в совпадающем типе данных как вход, он наследовал тип входных данных. В противном случае тип выходных данных выбран, чтобы быть достаточно большим, чтобы содержать десятичный выход.

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

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

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

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