Changing Bits in Flag Words
Writing, reading or toggling bits in flags can be done only using the OR, AND and NOT operations - operations which can be performed quickly in the processor.
To set a bit, OR the status byte with a mask byte. Any bits set in the mask byte or the status byte will be set in the result.
int setBit(int val, int bit_position) { return val | (1 << bit_position); }To clear a bit, perform a NOT operation on the mask byte, then AND it with the status byte. The result will have the appropriate flag cleared (set to 0).
int clearBit(int val, int bit_position) { return val & ~(1 << bit_position); }To toggle a bit, XOR the status byte and the mask byte. This will set a bit if it is cleared or clear a bit if it is set.
int toggleBit(int val, int bit_position) { return val ^ (1 << bit_position); }Read more about this topic: Flag Word
Famous quotes containing the words changing, bits, flag and/or words:
“The distempers of the soul have their relapses, as many and as dangerous as those of the body; and what we take for a perfect cure is generally either an abatement of the same disease or the changing of that for another.”
—François, Duc De La Rochefoucauld (16131680)
“At death, you break up: the bits that were you
Start speeding away from each other for ever
With no one to see.”
—Philip Larkin (19221986)
“Theres an enduring American compulsion to be on the side of the angels. Expediency alone has never been an adequate American reason for doing anything. When actions are judged, they go before the bar of God, where Mom and the Flag closely flank His presence.”
—Jonathan Raban (b. 1942)
“...and all the people answered with one voice, and said, All the words that the LORD has spoken we will do.”
—Bible: Hebrew, Exodus 24:2.