将char解释为十六进制

时间:2016-11-07 17:24:49

标签: matlab

我想解释(不转换)ascii字符作为其十六进制值。即,我有string = 'a';它应该转换为十六进制值 0xa

我只找到了将ascii值转换为十六进制表示的解决方案(这将是0x61但不是我要查找的值)。

2 个答案:

答案 0 :(得分:2)

使用hex2dec

string = 'a'
numericvalue = hex2dec(string)

此处的文档:https://www.mathworks.com/help/matlab/ref/hex2dec.html?requestedDomain=www.mathworks.com

在内部,值0xa不会存储为十六进制或十进制,而是存储为二进制。但是数字总是相同的,无论你写的是10(十进制),0xa(十六进制)还是1010(二进制)。

答案 1 :(得分:0)

Matlab没有十六进制类型,但你可能想要这样的东西。

sscanf('a','%x')

这将导致回答10.转换回十六进制w / dec2hex将重新创建一个字符串表示。