# [Tutor] Struct the solution for Hex translation

Alan Gauld alan.gauld at btinternet.com
Wed Feb 21 21:51:23 CET 2007

```"Johan Geldenhuys" <johan at accesstel.co.za> wrote

> On the struct module, How can I het the binary 1's
> and 0's of the Hex value? Let say I want to get the
> 8 bit value of '\xe2', can I use struct to convert
> that into binary code

No, struct converts your data into a string of bytes and
provides a way to view a string representation of those
bytes.

But you can use bitmasks to get at the individual bits.
(See my Using the OS topic for a box on bitwise operators

Basically you want to bitwise AND the data with a mask
containing just a one in the 8th position
(since 1& 0 = 0 and 1& 1 = 1)

Thus 10000000 = 80 hex. So:

>>> for n in range(125,130):
...    print n,':',n&0x80
...
125 : 0
126 : 0
127 : 0
128 : 128     <--- the one is set so the & returns the mask
129 : 128
>>>

> so that I get 8 binary bits as a string?

See the bin() function in the sidebar in my topic for a function to
display a number in its binary form.

--
Alan Gauld
Author of the Learn to Program web site
http://www.freenetpages.co.uk/hp/alan.gauld

```