b = de2bi(d) преобразует неотрицательный десятичный целочисленный d к вектору строки двоичных знаков. Если d вектор, выход b матрица, в которой каждая строка является двоичной формой соответствующего элемента в d.
Преобразуйте десятичное число, чтобы базироваться 2
В этом примере показано, как преобразовать десятичные числа в двоичные числа в их основе 2 эквивалента.
d_array = [1 2 3 4];
Преобразуйте десятичный массив в двоичный файл при помощи de2bi функция. Укажите, что старшая значащая цифра является крайним левым элементом и определила номер требуемых столбцов к 5. Выход становится 4 5 матрица, где каждая строка соответствует десятичному значению от входа. Поскольку самое большое десятичное значение в d_array может быть описан в 3 столбцах, de2bi заполняет матрицу двумя дополнительными нулевыми столбцами в заданной старшей значащей битной стороне. Если вы зададите слишком мало столбцов, преобразование перестанет работать.
d — Десятичный вход неотрицательное целое число | вектор | матрица
Десятичный вход в виде неотрицательного целого числа, вектора или матрицы. Если d матрица, она обработана как вектор-столбец d(:).
Примечание
Гарантировать точное преобразование, d должно быть меньше чем или равно 252.
Типы данных: double | single | integer | fi
n — Количество выходных столбцов положительный целочисленный скаляр
Количество выходных столбцов, заданных как положительная скалярная величина. При необходимости, бинарное представление d дополнен дополнительными нулями.
Типы данных: double | single
p — Основа 2 (значение по умолчанию) | положительный целочисленный скаляр
Основа выхода bВ виде целого числа, больше, чем или равный 2.
Если d вектор, выход b матрица, в которой каждая строка является основой-p форма соответствующего элемента в d.
Если d матрица, de2bi обработки это как векторный d(:).
Типы данных: double | single
flg — Флаг MSB 'right-msb' (значение по умолчанию) | 'left-msb'
Флаг MSB в виде 'right-msb' или 'left-msb'.
'right-msb' – Указывает на право (или в последний раз) столбец двоичного выхода, b, как старший значащий бит (или цифра самого высокого порядка).
'left-msb' – Указывает на левое (или сначала) столбец двоичного выхода, b, как старший значащий бит (или цифра самого высокого порядка).
de2bi не рекомендуется. Использование int2bit вместо этого.
Не рекомендуемый запуск в R2021b
Использование int2bit вместо de2bi. При преобразовании представления чисел от десятичного числа до основы кроме 2, использовать dec2base.
Код в этой таблице показывает преобразование из десятичной системы в двоичную для различных входных параметров с помощью рекомендуемой функции.
Нежелательная функция
Рекомендуемая замена
% Default (left MSB)
n = randi([1 100]); % Number of integers
bpi = 3; % Bits per integer
x = randi([0,2^bpi-1],n,1);
y = reshape(de2bi(x,bpi,'left-msb')',[],1)
% Default (left MSB)
n = randi([1 100]); % Number of integers
bpi = 3; % Bits per integer
x = randi([0,2^bpi-1],n,1);
y = int2bit(x,bpi)
% Default vector (or scalar) input
x = [4 5 9];
y = de2bi(x)
% Default vector (or scalar) input
x = [4 5 9];
y = int2bit(x,ceil(log2(max(x) + 1)), 0)'
% Right MSB
n = randi([1 100]); % Number of integers
bpi = 5; % Bits per integer
x = randi([0,2^bpi-1],n,1);
y = reshape(de2bi(x,bpi,'right-msb')',[],1)
% Right MSB
n = randi([1 100]); % Number of integers
bpi = 5; % Bits per integer
x = randi([0,2^bpi-1],n,1);
y = int2bit(x,bpi,false)
% Right MSB, signed input
n = randi([1 100]); % Number of integers
bpi = 8; % Bits per integer
N = 2^bpi;
x = randi([-N/2,N/2-1],n,1);
y = reshape(de2bi(x+(x<0)*N,bpi,'right-msb')',[],1)
% Right MSB, signed input
n = randi([1 100]); % Number of integers
bpi = 8; % Bits per integer
N = 2^bpi;
x = randi([-N/2,N/2-1],n,1);
y = int2bit(x+(x<0)*N,bpi,false)
Расширенные возможности
Генерация кода C/C++ Генерация кода C и C++ с помощью MATLAB® Coder™.
Для просмотра документации необходимо авторизоваться на сайте
Памятка переводчика
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.