Преобразование текстового представления двоичного целого в двойное значение
преобразует двоичное целое число, представленное 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 может представлять дополнение двух отрицательных чисел, используя суффикс, указывающий целочисленный тип со знаком. Например, bin2dec('0b11111111s8') прибыль -1, потому что s8 суффикс задает 8-битный целочисленный тип со знаком. В предыдущих выпусках binStr не может представлять отрицательное число.
flintmaxВ R2020b изменилось поведение
bin2dec функция выдает предупреждение, когда входные значения больше или равны flintmax. В предыдущих выпусках bin2dec не выпустил это предупреждение.
bin2dec теперь выдает предупреждение, потому что входные значения, представляющие целые числа больше или равны flintmax может не быть представлено точно как значения с плавающей запятой двойной точности.
Преобразование значений, превышающих flintmax в точности рассмотрим одну из этих альтернатив:
Вместо ввода скалярного текста используйте шестнадцатеричные или двоичные литералы, представляющие одни и те же значения. При записи значения в виде литерала MATLAB ® сохраняет его как целое число, точно представляющее значение. Дополнительные сведения см. в разделе Шестнадцатеричные и двоичные значения.
Преобразование шестнадцатеричных входных данных, превышающих flintmax, вы можете использовать sscanf функции с помощью %lx оператор. При использовании %lx, преобразованные значения являются целыми числами, которые имеют uint64 тип данных. Этих целых чисел достаточно для представления значений, превышающих flintmax точно.
.
Примечания и ограничения по использованию:
Входной текст должен быть указан как символьный массив или строковый скаляр. Массивы ячеек не поддерживаются.
Если входные данные пусты, ответ не соответствует ответу в MATLAB.
Примечания и ограничения по использованию:
Входной текст должен быть указан как символьный массив. Массивы ячеек не поддерживаются.
Если входные данные пусты, ответ не соответствует ответу в MATLAB.
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.