假设我在 matlab 工作区中有一个 1x32 双数组输入。此变量具有所有正十进制值。我想将每个值转换为十六进制并将其存储在另一个数组中输出
我使用dec2hex(Input) & 它生成一个带有十六进制值的字符串。现在,我想要一个十六进制数字数组而不是字符串。
如何将此十六进制字符串转换为 1x32输出
的十六进制数组
如果我使用 str2num 或 str2double,它分别给出空和 NaN?
怎么做
问问题
6654 次
2 回答
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
于 2013-07-27T11:48:32.250 回答
1
Matlab 本身不管理十六进制数,仅管理十进制表示法。这就是 matlab 以字符串格式存储十六进制数字的原因。
例如,要添加十六进制,您必须通过十进制表示法:
a='ABC';
b='123';
c=dec2hex(hex2dec(a)+hex2dec(b))
于 2013-07-27T14:08:51.613 回答