Main Content

hex2num

IEEE 十六进制格式转换为双精度数

说明

示例

X = hex2num(hexStr)hexStr 转换为它所表示的双精度浮点数。输入参量 hexStr 最多有 16 个字符,表示 IEEE® 格式的十六进制数。如果 hexStr 少于 16 位,则 hex2numhexStr 的右端填零。

hex2dec 函数不同,hex2num 可以转换表示带小数部分的浮点值的输入。此外,hex2num 能正确处理 NaNInf 值以及非正规数。

如果 hexStr 表示多个数,则 hex2dec 以双精度数的列向量形式返回这些数字。

示例

全部折叠

使用十六进制数字创建一个字符向量,它表示一个 IEEE® 格式双精度数。

hexStr = '400921fb54442d18';

要将其转换为它所表示的数,请使用 hex2num 函数。如果 hexStr 表示具有小数部分的数,则 hex2num 会正确转换该数字。

X = hex2num(hexStr)
X = 3.1416

您可以使用 num2hex 函数将 X 转换回其十六进制表示。

num2hex(X)
ans = 
'400921fb54442d18'

创建一个表示负数的字符向量。然后转换它。

hexStr = 'BFF';
X = hex2num(hexStr)
X = -1

转换 NaN 的表示。

hex2num('FFF8')
ans = NaN

转换 Inf 的表示。

hex2num('7FF')
ans = Inf

使用十六进制数字创建一个字符串数组,它表示多个 IEEE® 格式的数。

hexStr = ["4005bf0b0d7a3c06" "3fc189374bc6a7f0" "402c"]
hexStr = 1x3 string
    "4005bf0b0d7a3c06"    "3fc189374bc6a7f0"    "402c"

转换 hexStr,并将其以双精度数的数组形式返回。

X = hex2num(hexStr)
X = 1×3

    2.7183    0.1370   14.0000

输入参数

全部折叠

表示十六进制数的文本,指定为字符数组、字符向量元胞数组或字符串数组。

  • 如果 hexStr 是字符向量元胞数组或字符串数组,则 hex2num 会将每个元素转换为一个数字。

  • 如果 hexStr 是字符数组,则 hex2num 将每行转换为一个数字。

扩展功能

版本历史记录

在 R2006a 之前推出