在Matlab中将十进制数组转换为十六进制数组

时间:2013-07-27 10:33:14

标签: matlab hex type-conversion decimal

假设我在matlab工作区中有1x32双数组输入。此变量具有所有正十进制值。我想将每个值转换为Hex&将其存储在另一个数组输出
中 我使用 dec2hex(输入)&它生成一个带有十六进制值的字符串。现在,我想要一个Hex数字和数组的数组。不是字符串。
如何将此十六进制字符串转换为1x32 输出的十六进制数组 如果我使用str2num或str2double,它会给出空&分别是NaN?
怎么做

2 个答案:

答案 0 :(得分:5)

既不使用空值也不使用Nan值使用`hex2dec'。这样的事情对我有用:

a=1:20; 
b=dec2hex(a); 
c=hex2dec(b)

ans =

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20

答案 1 :(得分:1)

Matlab本身不管理十六进制数字,只有十进制表示法。这就是matlab以字符串格式存储十六进制数字的原因。

例如,要添加十六进制,必须通过十进制表示法:

a='ABC'; 
b='123'; 
c=dec2hex(hex2dec(a)+hex2dec(b))
相关问题