Convert Hexadecimal value to signed integer
26 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Aresh Dadlani
el 22 de Oct. de 2014
Respondida: Ulrich Moser
el 19 de Mzo. de 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 comentarios
Respuesta aceptada
Guillaume
el 22 de Oct. de 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');
Más respuestas (1)
Ulrich Moser
el 19 de Mzo. de 2019
The typecast command worked very well for hex-strings. Thank you for providing this code!
0 comentarios
Ver también
Categorías
Más información sobre Data Type Conversion en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!