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