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:
“A majority, held in restraint by constitutional checks, and limitations, and always changing easily, with deliberate changes of popular opinions and sentiments, is the only true sovereign of a free people.”
—Abraham Lincoln (18091865)
“You have to begin to lose your memory, if only in bits and pieces, to realize that memory is what makes our lives. Life without memory is no life at all, just as an intelligence without the possibility of expression is not really an intelligence. Our memory is our coherence, our reason, our feeling, even our action. Without it, we are nothing.”
—Luis Buñuel (19001983)
“Swift blazing flag of the regiment,
Eagle with crest of red and gold,
These men were born to drill and die.
Point for them the virtue of slaughter,
Make plain to them the excellence of killing
And a field where a thousand corpses lie.”
—Stephen Crane (18711900)
“Man doth not live by bread only, but by every word that proceedeth out of the mouth of the Lord doth man live.”
—Bible: Hebrew Deuteronomy, 8:3.
Jesus recalls these words in Matthew 4:4.