On 24/03/12 03:51, Alex Hall wrote:
Of course, 9 means the battery is high and charging, but how do I
interpret an arbitrary integer as the sum of its flags? Is there a
binary trick I can use?
Dave has given the immediate answer which is a subset of a general
technique known as bitwise masking.
I discuss this with some other examples in the Operating System topic of
my tutorial. You might find the write up interesting.
Another useful bitwise operator is xor which can be used to tell is any
flags have changed value since the last time you looked:
oldflags = readFlags()
while True: # look for a change
newflags = readFlags()
if newflags ^ oldflags:
break # there's been a change
# process newflags.
And finally, the bitwise OR can be used to set a particular flag
HiBattery = 8
flags = flags | HiBattery # sets HiBattery, preserving the rest.
HTH,
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - [email protected]
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor