Flag Word - Changing Bits in Flag Words

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 human condition is such that pain and effort are not just symptoms which can be removed without changing life itself; they are the modes in which life itself, together with the necessity to which it is bound, makes itself felt. For mortals, the “easy life of the gods” would be a lifeless life.
    Hannah Arendt (1906–1975)

    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 (1900–1983)

    By the rude bridge that arched the flood,
    Their flag to April’s breeze unfurled,
    Here once the embattled farmers stood
    And fired the shot heard round the world.
    Ralph Waldo Emerson (1803–1882)

    I cannot trust myself to put in words what I feel at this time. Every kind thought that is in your minds and every good wish that is in your hearts for me finds its responsive wish and thought in my mind and heart for each of you. I love this city. It has been my own cherished home. Twice before I have left it to discharge public duties and returned to it with gladness, as I hope to do again.
    Benjamin Harrison (1833–1901)