MATLAB 帮助中心
将以 n 为基数的整数的文本表示转换为双精度值
n
D = base2dec(baseStr,n)
D = base2dec(baseStr,n) 将由 baseStr 表示的以 n 为基数的整数转换为等效的十进制数,并将其以双精度浮点值形式返回。
D
baseStr
如果 baseStr 表示大于或等于 flintmax 的整数,则 base2dec 可能不会将其精确表示为浮点值。
flintmax
base2dec
示例
全部折叠
将表示以 12 为基数的值的字符向量转换为十进制数字。
baseStr = '1B'; D = base2dec(baseStr,12)
D = 23
创建一个表示多个八进制(即以 8 为基数)值的字符串数组。
baseStr = ["1777" "172" "16"]
baseStr = 1×3 string "1777" "172" "16"
转换八进制值并返回数值数组。
D = base2dec(baseStr,8)
D = 1×3 1023 122 14
表示以 n 为基数的文本,指定为字符数组、字符向量元胞数组或字符串数组。baseStr 使用数值字符表示基数以 n 为基数的数字,当 n 大于 10 时,用字母表示。例如,如果 n 为 12,则 baseStr 使用字符 9、A 和 B 表示数字 9、10 和 11,并将数字 12 表示为字符序列 10。字母可以是大写的也可以是小写的。
9
A
B
10
如果 baseStr 是包含多行的字符数组或字符向量元胞数组,则输出为数值列向量。
如果 baseStr 是字符串数组,则输出为具有相同维度的数值数组。
baseStr 无法表示负数。
输入表示的基数,指定为 2 到 36 之间的整数。例如,如果 n 是 8,则 baseStr 表示以 8 为基数的数字。
全部展开
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
当输入值大于或等于 flintmax 时,base2dec 函数会发出警告。在以前的版本中,base2dec 在这种情况下不发出警告。
base2dec 现在发出警告,因为表示大于或等于 flintmax 的整数的输入可能无法精确表示为双精度浮点值。
要准确转换大于 flintmax 的值,请考虑以下备选方法之一:
使用表示相同值的十六进制或二进制字面值代替标量文本输入。当您将值写为字面值时,MATLAB® 会将其存储为精确表示该值的整数。有关详细信息,请参阅十六进制和二进制值。
要转换大于 flintmax 的十六进制输入,您可以将 sscanf 函数与 %lx 运算符结合使用。当您使用 %lx 时,转换后的值是具有 uint64 数据类型的整数。这些整数有足够的存储空间来精确表示大于 flintmax 的值。
sscanf
%lx
uint64
.
dec2base | hex2dec | bin2dec | flintmax
dec2base
hex2dec
bin2dec
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处