How to convert Hex data into decimal data?

57 vues (au cours des 30 derniers jours)
Shree
Shree le 28 Mar 2015
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?

Réponse acceptée

Jos (10584)
Jos (10584) le 28 Mar 2015
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')
  1 commentaire
Shree
Shree le 28 Mar 2015
Got it! Thank you so much!

Connectez-vous pour commenter.

Plus de réponses (2)

Jan
Jan le 28 Mar 2015
sscanf('%x') is much faster than hex2dec.
  2 commentaires
Jos (10584)
Jos (10584) le 29 Mar 2015
+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
yahia mohammad le 2 Sep 2021
Modifié(e) : yahia mohammad le 2 Sep 2021
HOW TO CONVERT '49204C6F76' TO DECIMAL BY USING MATLAB

Connectez-vous pour commenter.


Vivek Deshmukh
Vivek Deshmukh le 28 Mar 2015
USE COMMAND HEX2DEC

Catégories

En savoir plus sur Data Type Conversion dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by