Преобразуйте текстовое представление бинарного целого числа, чтобы удвоить значение
преобразует бинарное целое число, представленное 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.