Hi. I’m new to elixir, so this could be obvious. I’m reading and writing to a device that uses a binary line format. The format is fixed. It also has integer fields, but they are easy to interpret. Floats and doubles are a bit harder, so I’m wondering and hoping that this is a problem that’s already been solved.
Here’s an example of what I’m looking at:
SSSSSSSSSSSSIIIIIIIIFFFFDDDDDDDD
Where S…S is a string descriptor.
IIII is an integer that I unpack with ((i1 <<< 32) + (i2 <<< 16) + (i3 <<< 8) + i4)
The ones I’m struggling with are FFFF (32 bit float) and DDDDDDDD (double prec float).
I know I can look at the IEEE-754 spec and figure this out, but I’m thinking there might be a solution already. For example in python given the FFFF, I can use struct.unpack(FFFF) to get the floating point value.