How to convert Hex data into decimal data?

32 ビュー (過去 30 日間)
Shree
Shree 2015 年 3 月 28 日
編集済み: yahia mohammad 2021 年 9 月 2 日
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?

採用された回答

Jos (10584)
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')
  1 件のコメント
Shree
Shree 2015 年 3 月 28 日
Got it! Thank you so much!

サインインしてコメントする。

その他の回答 (2 件)

Jan
Jan 2015 年 3 月 28 日
sscanf('%x') is much faster than hex2dec.
  2 件のコメント
Jos (10584)
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
yahia mohammad 2021 年 9 月 2 日
編集済み: yahia mohammad 2021 年 9 月 2 日
HOW TO CONVERT '49204C6F76' TO DECIMAL BY USING MATLAB

サインインしてコメントする。


Vivek Deshmukh
Vivek Deshmukh 2015 年 3 月 28 日
USE COMMAND HEX2DEC

カテゴリ

Help Center および File ExchangeSearch Path についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by