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:
“Minnaloushe creeps through the grass
Alone, important and wise,
And lifts to the changing moon
His changing eyes.”
—William Butler Yeats (18651939)
“Many bits of fox fur will make a fine robe.”
—Chinese proverb.
“Up rose old Barbara Frietchie then,
Bowed with her fourscore years and ten;
Bravest of all in Frederick town,
She took up the flag the men hauled down;”
—John Greenleaf Whittier (18071892)
“Those graceful acts,
Those thousand decencies, that daily flow
From all her words and actions, mixed with love
And sweet compliance, which declare unfeigned
Union of mind, or in us both one soul.”
—John Milton (16081674)