Splitting a float into bytes:
Simon Forman
rogue_pedro at yahoo.com
Wed Jul 26 14:55:50 EDT 2006
Michael Yanowitz wrote:
> Hello:
>
> For some reason I can't figure out how to split
> a 4-byte (for instance) float number (such as 3.14159265359)
> into its 4-bytes so I can send it via a socket to another
> computer.
> For integers, it is easy, I can get the 4 bytes by anding like:
> byte1 = int_val & 0x000000FF
> byte2 = int_val & 0x0000FF00
> byte3 = int_val & 0x00FF0000
> byte4 = int_val & 0xFF000000
> But if I try to do that with floats I get:
> >>> pi & 0xFF
> Traceback (most recent call last):
> File "<stdin>", line 1, in ?
> TypeError: unsupported operand type(s) for &: 'float' and 'int'
>
> Is there some easy way to get what the bytes of the float are?
>
> Thanks in advance:
> Michael Yanowitz
The struct module. (It also works for ints. ;-) )
http://docs.python.org/lib/module-struct.html
HTH,
~Simon
More information about the Python-list
mailing list