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

Errrmmm ... I think you need the right shift operator e.g.
 byte4 = (int_val & 0xFF000000) >> 24
but assert 0 <= byte4 <= 255 may fail under some circumstances
so (better):
 byte4 = (int_val >> 24) & 0xFF
# absolutely guaranteed to pass that assertion

BUT why muck around with all that when you can use struct.pack???

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to