Azzera filtri
Azzera filtri

Float to binary string and vice-versa

4 visualizzazioni (ultimi 30 giorni)
Marc
Marc il 21 Mag 2013
Hello,
I would like to have following 2 functions written in Matlab (here the C-code):
void getMemoryFromFloat(float floatNumber,char memory[4])
{ // floatNumber is input, memory is output
memory[0]=((char*)&floatNumber)[0];
memory[1]=((char*)&floatNumber)[1];
memory[2]=((char*)&floatNumber)[2];
memory[3]=((char*)&floatNumber)[3];
}
float getFloatFromMemory(char memory[4])
{ // memory is input
return(((float*)memory)[0]);
}
Anyone can give me a hint? To give a quick background, I basically communicate with a C-library that sends me float data that is coded in a string. In a similar way, that library only accepts float data coded in a string.
Thanks!

Risposta accettata

Iain
Iain il 21 Mag 2013
Modificato: Iain il 21 Mag 2013
typecast will convert a 32bit float to a single 32bit integer, or into 4 8 bit integers, or 4 characters. (And vice versa).
32 bit float = single format

Più risposte (1)

Marc
Marc il 21 Mag 2013
Thanks a lot! typecast was the command I was looking for :)
  1 Commento
James Tursa
James Tursa il 21 Mag 2013
If you are working with very large variables and/or doing this many times in a loop, you might consider this FEX submission "typecastx" that returns a shared data copy of the input. It is faster and more efficient than the built-in typecast function which returns a deep data copy.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by