Convert Hexadecimal value to signed integer
27 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Aresh Dadlani
il 22 Ott 2014
Risposto: Ulrich Moser
il 19 Mar 2019
Hi, I have a .bin file in which data is stored in hexadecimal format. I want to do the following:
1. Read the hexadecimal data from the .bin file.
2. Convert the data into signed integer. For instance, if we have FF5C in the file, I want to read it and convert it into its corresponding signed integer representation which is -164.
Could anyone please show me the code to do so. Thank you in advance.
0 Commenti
Risposta accettata
Guillaume
il 22 Ott 2014
You haven't given enough information about your file for us to help much with question 1.
If it's a text file, use fopen, fgetl or similar and fclose. If it's a binary file, use fopen, fread and fclose.
For question 2., if it's a binary file, fread can read the data as signed integer as is. Use:
out = fread(fid, numvalues, *int16);
If it's a text file, convert your hexadecimal string with:
out = typecast(uint16(base2dec(hexstring, 16)), 'int16');
Più risposte (1)
Ulrich Moser
il 19 Mar 2019
The typecast command worked very well for hex-strings. Thank you for providing this code!
0 Commenti
Vedere anche
Categorie
Scopri di più su Data Type Conversion in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!