2

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

4

2 回答 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 回答