目录
hex2num函数将IEEE 十六进制格式转换为双精度数。
一.语法
X = hex2num(hexStr)
hexStr表示十六进制数的文本,它可以指定位字符数组、字符向量元胞数组或字符串数组。
· 如果hexStr是字符向量元胞数组或字符串数组,则hex2num会将每个元素转换为一个数字。
· 如果hexStr是字符数组,则hex2num将每行转换为一个数字。
二.说明
X = hex2num(hexStr) 将 hexStr 转换为它所表示的双精度浮点数。输入参数hexStr最多有 16 个字符,表示 IEEE® 格式的十六进制数。如果hexStr少于16位,则hex2num在hexStr的右端填零。与hex2dec函数不同,hex2num可以转换表示带小数部分的浮点值的输入。此外,hex2num能正确处理NaN和Inf值以及非规范数。
如果hexStr表示多个数,则hex2dec以双精度数的列向量形式返回这些数字。
示例
将十六进制格式转换为带小数部分的数
使用十六进制数字创建一个字符向量,它表示一个 IEEE® 格式双精度数。例如数据:
hexStr = '400921fb54442d18';
要将其转换为它所表示的数,使用 hex2num
函数。如果 hexStr
表示具有小数部分的数,则 hex2num
会正确转换该数字。
X = hex2num(hexStr)
X = 3.1416
也可以使用 num2hex
函数将 X
转换回其十六进制表示。
num2hex(X)
ans =
'400921fb54442d18'
转换负数、NaN和Inf的十六进制表示
创建一个表示负数的字符向量。然后进行转换。例如:
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