我想解释(不转换)ascii字符作为其十六进制值。即,我有string = 'a';
它应该转换为十六进制值 0xa 。
我只找到了将ascii值转换为十六进制表示的解决方案(这将是0x61但不是我要查找的值)。
答案 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将重新创建一个字符串表示。