hex2dec
将十六进制整数的文本表示转换为双精度值
说明
示例
转换表示十六进制值的文本
将表示十六进制值的字符向量转换为十进制数。
hexStr = '3FF';
D = hex2dec(hexStr)
D = 1023
从 R2019b 开始,您可以直接以十六进制格式写入值,而无需使用 hex2dec
。使用 0x
前缀,不要使用引号。MATLAB® 将该值存储为整数,而不是文本。
D = 0x3FF
D = uint16
1023
返回数值数组
创建一个表示多个十六进制值的字符串数组。
hexStr = ["3FF" "7A" "E"]
hexStr = 1x3 string
"3FF" "7A" "E"
转换十六进制值并返回数值数组。
D = hex2dec(hexStr)
D = 1×3
1023 122 14
从 R2019b 开始,建议您使用十六进制字面值创建数值数组,而不是使用 hex2dec
转换文本。
D = [0x3FF 0x7A 0xE]
D = 1x3 uint16 row vector
1023 122 14
输入参数
hexStr
— 表示十六进制数的文本
字符数组 | 字符向量元胞数组 | 字符串数组
表示十六进制数的文本,指定为字符数组、字符向量元胞数组或字符串数组。hexStr
使用字符 0
-9
以及 A
-F
或 a
-f
表示十六进制数字。
如果
hexStr
是包含多行的字符数组或字符向量元胞数组,则输出为数值列向量。如果
hexStr
是字符串数组,则输出为具有相同维度的数值数组。
从 R2020a 开始,hexStr
可以是包含十六进制字面值使用的相同前缀(0x
或 0X
)和后缀的文本。例如,对 hex2dec
的以下调用都会返回数字 255
。
hex2dec('FF') hex2dec('0xFF') hex2dec('0xFFs32')
此外,在 R2020a 中,hexStr
还可以通过使用指定有符号整数类型的后缀来表示负数的 2 的补码。例如,hex2dec('0xFFs8')
返回 -1
,因为 s8
后缀指定 8 位有符号整数类型。在以前的版本中,hexStr
无法表示负数。
扩展功能
C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。
用法说明和限制:
输入文本必须指定为字符数组或字符串标量。不支持元胞数组。
基于线程的环境
使用 MATLAB® backgroundPool
在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool
加快代码运行速度。
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
版本历史记录
在 R2006a 之前推出R2020b: 当输入值大于或等于 flintmax
时发出警告
当输入值大于或等于 flintmax
时,hex2dec
函数会发出警告。在以前的版本中,hex2dec
在这种情况下不发出警告。
hex2dec
现在发出警告,因为表示大于或等于 flintmax
的整数的输入可能无法精确表示为双精度浮点值。
要准确转换大于 flintmax
的值,请考虑以下备选方法之一:
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)