I want to convert a float number for example 2.45 to the 4 byte char array.
so the 2.45 should look like this '@' 'FS' 'Ì' 'Í'
which is binary the ieee representation of 2.45 = 01000000 00011100 11001100 11001101
?
I've solved the problem but it has a bad complexity. do you have any good ideas?
Thanks for the good answers.
can you please tell me the way back from the char array to the float number ?
Just use memcpy:
If you require the opposite endianness then it is a trivial matter to reverse the bytes in
a
afterwards, e.g.You have a few ways of doing this, including these two:
Use typecasting and pointers:
Note that this isn't safe in any way and that there is no string terminator after the "string".
Use a
union
:The char array can now be accessed to get the byte values. Also note like the first alternative there is no string terminator.