How to convert Hex data into decimal data?
조회 수: 32 (최근 30일)
이전 댓글 표시
Hi,
I have to convert the hex data I have into one decimal array. I am not able to use this data as input for following reasons.
1. MATLAB is unable to import this data file(data.m)
2. While defining the data in matrix or cell form is giving an error at each element which contains number and string(Example: 0A B5)
Example:(data.m) B5 62 0A 04 00 00 0E 34 B5 62 0D 01 10 00 A0 9A D9 13 00 00 00 00 CB F3 FF
Code:
t=25;
for n=1:1:t
count_hex = count_hex + 1;
A = data(1,n);
B(:,count_hex) = hex2dec(A);
end
What can I do to make it work?
댓글 수: 0
채택된 답변
Jos (10584)
2015년 3월 28일
Hexadecimal values are stored in strings in MatLab.
HexValue = 'FE'
hex2dec = hex2dec(HexValue)
DataHex = {'B5','C0','FF','ABCD'} % using a cell array of strings to store multiple values
DataDec = hex2dec(DataHex) % hex2dec can operate on such a cell array. No need to loop.
If your data file is an ascii file with Hex values separated by blank spaces, you can easily read it in using TEXTREAD:
DataHex = textread('myfile.txt','%s')
추가 답변 (2개)
Jan
2015년 3월 28일
sscanf('%x') is much faster than hex2dec.
댓글 수: 2
Jos (10584)
2015년 3월 29일
+1
... but you'll need a loop around the cell array, or a call to CELLFUN. In my opinion this make the code a little less clear.
yahia mohammad
2021년 9월 2일
편집: yahia mohammad
2021년 9월 2일
HOW TO CONVERT '49204C6F76' TO DECIMAL BY USING MATLAB
참고 항목
카테고리
Help Center 및 File Exchange에서 Search Path에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!