将十六进制数组转换为Binary,然后转换为Decimal

用户名

我有一个包含两组数据的样本结构。第一个数据包含以下十六进制数组'00 7F 3F FF 08 FF 60 26',然后当我将其转换为二进制然后是十进制时,我得到了正确的答案,即'0 127 63 255 8 255 96 38'

但是,我有一些数据数组与第一个数组不完全一样,它们看起来像是“ 1 40 0 F 00 40 00 47”,当我尝试转换这类数据集时,结果不准确。我得到类似“ 64 0 64 0 71”的内容,而预期结果是“ 1 64 0 15 0 64 0 71”

这是我的示例数据代码:

%% Structure


a(1).Id = 118;
a(1).Data = '00 7F 3F FF 08 FF 60 26';

a(2).Id = 108;
a(2).Data = '1 40 0 F 00 40 00 47';



%% Hexadecimal (Data) --> Binary --> Decimal

Data = a(2).Data;         
str = regexp(Data,' ','split');
Ind = cellfun(@length,str);
str = str(Ind==2);

%Hex to Binary 
binary = hexToBinaryVector(str,8,'MSBFirst');

%Binary to Decimal
Decimal = bi2de(binary,'left-msb');

任何帮助将不胜感激!

投掷游戏

添加两行应该可以解决问题:

 str = regexp(Data,' ','split');
 Ind = cellfun(@length,str);
 str(Ind==1) = strcat('0',str(Ind==1) );
 Ind = cellfun(@length,str);
 str = str(Ind==2);

它所要做的就是在看到一个字符串(您的十六进制)为1个字符时,将其前面放置一个0,因此请将其更正为正确的格式。您实际上可以在cellfun中执行此操作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将十进制转换为十六进制值

来自分类Dev

将RGB转换为十六进制

来自分类Dev

将QString转换为十六进制?

来自分类Dev

将十六进制转换为二进制

来自分类Dev

将int或long转换为字节十六进制数组

来自分类Dev

如何将char数组转换为十六进制

来自分类Dev

将十六进制转换为二进制

来自分类Dev

将二进制转换为十六进制

来自分类Dev

将字符串转换为十六进制,然后转换为字节数组

来自分类Dev

PHP将十进制转换为十六进制

来自分类Dev

Python:将十六进制值从大端转换为小端,然后转换为十进制

来自分类Dev

将十六进制转换为unicode

来自分类Dev

将十六进制字符串数组转换为十六进制数组

来自分类Dev

将RGB转换为十六进制

来自分类Dev

将QString转换为十六进制?

来自分类Dev

将十六进制转换为字节而不进行转换

来自分类Dev

使用awk将二进制数作为字符串存储在文本文件中,然后转换为十六进制

来自分类Dev

将int或long转换为字节的十六进制数组

来自分类Dev

如何将char转换为int,然后以十六进制格式显示

来自分类Dev

将十六进制转换为二进制

来自分类Dev

将十六进制C数组转换为Matlab向量

来自分类Dev

将numpy数组转换为十六进制bytearray

来自分类Dev

如何将char数组转换为十六进制

来自分类Dev

将十六进制转换为二进制

来自分类Dev

问:iOS字符转换为gbk编码,然后转换为十六进制,然后转换为数据

来自分类Dev

将 ASCII 转换为十六进制

来自分类Dev

C++ - 将字符数组转换为十六进制

来自分类Dev

将十六进制数转换为数组

来自分类Dev

将十六进制转换为十进制