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.

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

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

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

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

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

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

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

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

свернуть все

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

Если тип входных данных

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

  • double или логический тип данных, тип выходных данных double.

  • один тип данных, один тип выходных данных.

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

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

.

См. также

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