Преобразуйте текстовое представление бинарного целого числа, чтобы удвоить значение
преобразует бинарное целое число, представленное D = bin2dec(binStr)binStr к эквивалентному десятичному числу и возвращает его как значение с плавающей точкой с двойной точностью.
Если binStr представляет целое число, больше, чем или равный flintmaxто bin2dec не может представлять его точно так же, как значение с плавающей точкой.
Преобразуйте вектор символов, который представляет двоичное значение десятичному числу.
binStr = '10111';
D = bin2dec(binStr)D = 23
Начиная в R2019b, можно написать значения в двоичном формате непосредственно, не используя bin2dec. Используйте 0b снабдите префиксом и не используйте кавычки. MATLAB® хранит значение как целое число, не как текст.
D = 0b10111
D = uint8
23
Создайте массив строк, который представляет несколько двоичных значений.
binStr = ["1111111111" "1111010" "1110"]
binStr = 1x3 string
"1111111111" "1111010" "1110"
Преобразуйте двоичные значения и возвратите числовой массив.
D = bin2dec(binStr)
D = 1×3
1023 122 14
Начиная в R2019b, рекомендуется, чтобы вы создали числовой массив с помощью бинарных литералов вместо того, чтобы преобразовать текст с bin2dec.
D = [0b1111111111 0b1111010 0b1110]
D = 1x3 uint16 row vector
1023 122 14
binStr — Текст, представляющий двоичные числаТекст, представляющий двоичные числа в виде символьного массива, массива ячеек из символьных векторов или массива строк. binStr представляет двоичные цифры с помощью символов 0 и 1.
Если binStr символьный массив с несколькими строками или массивом ячеек из символьных векторов, затем выход является числовым вектор-столбцом.
Если binStr массив строк, затем выход является числовым массивом, который имеет те же размерности.
Двоичное число представлено binStr может иметь не больше, чем 53 цифры.
Начиная в R2020a, binStr может быть текст, который включает те же префиксы (0b или 0B) и суффиксы используются бинарными литералами. Например, эти вызовы bin2dec каждый возвращает номер 7.
bin2dec('111') bin2dec('0b111') bin2dec('0b111s32')
Кроме того, в R2020a binStr может представлять дополнение two отрицательного числа, с помощью суффикса, который задает тип целого числа со знаком. Например, bin2dec('0b11111111s8') возвращает -1, потому что s8 суффикс задает 8-битный тип целого числа со знаком. В предыдущих релизах, binStr не может представлять отрицательное число.
flintmaxПоведение изменяется в R2020b
bin2dec функция выдает предупреждение, когда входные значения больше или равны flintmax. В предыдущих релизах, bin2dec не выдавал это предупреждение.
bin2dec теперь выдает предупреждение потому что входные параметры, представляющие целые числа, больше, чем или равный flintmax не может быть представлен точно так же, как значения с плавающей точкой с двойной точностью.
Преобразовывать значения, больше, чем flintmax точно, рассмотрите одну из этих альтернатив:
Вместо скалярных вводов текста используйте шестнадцатеричные или бинарные литералы, представляющие те же значения. Когда вы пишете значение как литерал, MATLAB® хранилища это как целое число, которое представляет значение точно. Для получения дополнительной информации смотрите Шестнадцатеричные и Двоичные значения.
Преобразовывать шестнадцатеричные входные параметры, больше, чем flintmax, можно использовать sscanf функция с %lx оператор. Когда вы используете %lx, конвертированные значения являются целыми числами, которые имеют uint64 тип данных. Эти целые числа имеют достаточно устройства хранения данных, чтобы представлять значения, больше, чем flintmax точно.
.
Указания и ограничения по применению:
Входной текст должен быть задан как символьный массив или строковый скаляр. Массивы ячеек не поддерживаются.
Когда вход пуст, ответ не совпадает с ответом в MATLAB.
Указания и ограничения по применению:
Входной текст должен быть задан как символьный массив. Массивы ячеек не поддерживаются.
Когда вход пуст, ответ не совпадает с ответом в MATLAB.
backgroundPool или ускорьте код с Parallel Computing Toolbox™ ThreadPool.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.