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:
“What man thinks of changing himself so as to suit his wife?”
—Anthony Trollope (18151882)
“What in fact have I achieved, however much it may seem? Bits and pieces ... trivialities. But here they wont tolerate anything else, or anything more. If I wanted to take one step in advance of the current views and opinions of the day, that would put paid to any power I have. Do you know what we are ... those of us who count as pillars of society? We are societys tools, neither more nor less.”
—Henrik Ibsen (18281906)
“Columbus stood in his age as the pioneer of progress and enlightenment. The system of universal education is in our age the most prominent and salutary feature of the spirit of enlightenment, and it is peculiarly appropriate that the schools be made by the people the center of the days demonstration. Let the national flag float over every schoolhouse in the country and the exercises be such as shall impress upon our youth the patriotic duties of American citizenship.”
—Benjamin Harrison (18331901)
“For last years words belong to last years language
And next years words await another voice.”
—T.S. (Thomas Stearns)